@ComSpec stuff can be a little tricky, because it needs to be exactly correct in most instances. Jewtus almost got it right. @ComSpec does not need wrapping in quotes. $CalibreDIR shouldn't need them either. If TESTbook is a path, that will probably need wrapping in quotes too, especially where spaces exist. RunWait(@ComSpec & ' /c "' & $ebook_meta & '" c:\test.mobi --title TESTbook --authors somebody', $CalibreDIR, @SW_HIDE)If you use /k instead of /c while testing (and without @SW_HIDE), you will see if errors occur. NOTE - As it is, c:\test.mobi, doesn't need quotes, but it might if it changed to something else. RunWait(@ComSpec & ' /c "' & $ebook_meta & '" "c:\test.mobi" --title TESTbook --authors somebody', $CalibreDIR, @SW_HIDE)