我想使用批处理文件将一些文本文件转换为带有 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
::************************************************************************
答案 0 :(得分:1)
在ForFiles中,双引号将被视为一个特殊字符,因此应该用它的十六进制代替0x22而不是用反斜杠转义。
FORFILES /P "%source%" /M *.txt /C "CMD /C START 0x220x22 0x22%NitroPDF%0x22 /cv @PATH"