Forfiles命令和NitroPDF

时间:2016-10-20 14:07:29

标签: batch-file converter

我想使用批处理文件将一些文本文件转换为带有 NitoPDF 的PDF文件,因此,使用此文档: Using Nitro via the command line

我的批处理文件:

@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 Files\Nitro\Pro 10\NitroPDF.exe"
set "Source=%userprofile%\Desktop\SourceFolder"
set "Destination=C:\Users\Public\Documents\Pdf"
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 Files\Nitro\Pro 10\NitroPDF.exe"
set "Source=%userprofile%\Desktop\VME_TRANSFERT"
set "Destination=C:\Users\Public\Documents\Pdf"
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
::************************************************************************

1 个答案:

答案 0 :(得分:1)

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

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