Forfiles command and NitroPDF



我想用NitoPDF用批处理文件将一些文本文件转换为PDF,所以,使用这个doc: 使用Nitro通过命令行

我的Batch文件:

@echo off
Title Conversion des fichiers de type "*.txt" vers "*.pdf" by Hackoo 2016 avec NitroPDF
Mode con cols=130 lines=15 & color 0A
Set "NitroPDF=e:Program FilesNitroPro 10NitroPDF.exe"
set "Source=%userprofile%DesktopSourceFolder"
set "Destination=C:UsersPublicDocumentsPdf"
If not exist "%Destination%" MD "%Destination%"
echo "%NitroPDF%" & pause
::************************************************************************
:Conversion
FORFILES /P %source% /M *.txt /C "cmd /c "%NitroPDF%" /cv @PATH"
pause & exit

所以我得到了错误:'

'E:Program'未被识别为内部控制或外部,可操作的程序或批处理文件。

我在此代码之前使用了一个正常的for,但NitroPDF.exe在转换每个文件后不关闭的问题,所以,我必须手动关闭它才能继续在批处理文件中:

@echo off
Title Conversion des fichiers de type "*.txt" vers "*.pdf" by Hackoo 2016 avec NitroPDF
Mode con cols=130 lines=15 & color 0A
Set "NitroPDF=e:Program FilesNitroPro 10NitroPDF.exe"
set "Source=%userprofile%DesktopVME_TRANSFERT"
set "Destination=C:UsersPublicDocumentsPdf"
If not exist "%Destination%" MD "%Destination%"
::************************************************************************
:Conversion
FOR %%a IN ("%source%*.txt") DO (
    echo            Conversion du fichier "%%a" vers "%%~na.pdf" ... & echo.
    "%NitroPDF%" /cv "%%a"
    rem Taskkill /IM "NitroPDF.exe" /F
    Call :Deplacer
    cls & echo.
)
rem Taskkill /IM "NitroPDF.exe" /F
pause & exit
::************************************************************************
:Deplacer
for %%f in ("%tmp%*.pdf") do (
    Move "%%f" "%Destination%">nul 2>&1
)
goto:eof
::************************************************************************

在ForFiles中,双引号将被视为一个特殊字符,因此应该用它的HEX等效0x22替换,而不是用反斜杠转义。

FORFILES /P "%source%" /M *.txt /C "CMD /C START 0x220x22 0x22%NitroPDF%0x22 /cv @PATH"

最新更新