Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Forfiles命令和PDF_Batch File_Converter - Fatal编程技术网

Batch file Forfiles命令和PDF

Batch file Forfiles命令和PDF,batch-file,converter,Batch File,Converter,我想用批处理文件将一些文本文件转换为PDF格式,因此,使用此文档: 我的批处理文件: @echo关闭 Hackoo 2016 avec NitropPDF格式的标题转换 模式con cols=130行=15和颜色0A 设置“NitroPDF=e:\Program Files\Nitro\Pro 10\NitroPDF.exe” 设置“Source=%userprofile%\Desktop\SourceFolder” 设置“Destination=C:\Users\Public\Document

我想用批处理文件将一些文本文件转换为PDF格式,因此,使用此文档:

我的批处理文件:

@echo关闭
Hackoo 2016 avec NitropPDF格式的标题转换
模式con cols=130行=15和颜色0A
设置“NitroPDF=e:\Program Files\Nitro\Pro 10\NitroPDF.exe”
设置“Source=%userprofile%\Desktop\SourceFolder”
设置“Destination=C:\Users\Public\Documents\Pdf”
如果不存在“%Destination%”MD“%Destination%”
回显\%PDF%\“&暂停
::************************************************************************
:换算
FORFILES/P%source%/M*.txt/C“cmd/C\%pdf%\”/cv@PATH
暂停和退出
所以我得到了一个错误:`

“E:\Program”未被识别为内部控制 或外部可操作程序或批处理文件

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

@echo关闭
Hackoo 2016 avec NitropPDF格式的标题转换
模式con cols=130行=15和颜色0A
设置“NitroPDF=e:\Program Files\Nitro\Pro 10\NitroPDF.exe”
设置“Source=%userprofile%\Desktop\VME\u transfer”
设置“Destination=C:\Users\Public\Documents\Pdf”
如果不存在“%Destination%”MD“%Destination%”
::************************************************************************
:换算
对于(“%source%\*.txt”)中的%%a,请执行以下操作(
回音转换du fichier“%%a”vers“%%~na.pdf”…&echo。
“%PDF%”/cv“%%a”
rem Taskkill/IM“NitroPDF.exe”/F
电话:Deplacer
cls&echo。
)
rem Taskkill/IM“NitroPDF.exe”/F
暂停和退出
::************************************************************************
:撤换
对于%%f in(“%tmp%\*.pdf”)执行以下操作(
移动“%%f”“%Destination%\”>nul 2>&1
)
后藤:eof
::************************************************************************

在ForFiles中,双引号将被视为特殊字符,因此应替换为十六进制等效的0x22,而不是用反斜杠转义

FORFILES/P“%source%”/M*.txt/C“CMD/C START 0x220x22 0x22%pdf%0x22/cv@PATH”

你为什么不使用普通的
命令呢?@Squashman当我使用普通的
命令时,问题是
NitoPDF.exe
不关闭使用
FORFILES
CMD.exe
对性能有很大影响。无论如何,使用
FOR
不应阻止
PDF
关闭。@Squashman看看我上一个编辑问题!当使用base
FOR
命令时,您是否尝试过使用
cmd/c“%NitroPDF%”/cv“%%a”
start”“%NitroPDF%”/cv“%%a”执行
NitroPDF
奇怪,因为Dave使用反斜杠来转义双引号,从而发布了相同问题的解决方案。我得到了与我之前发布的相同的错误,我们也可以使用反斜杠****进行ecape,但我不知道我的问题出在哪里,虽然这应该不会有什么区别,但我已经更新了代码以包含start命令。请随意试用。@Compo/Q为什么??当我运行它时,我得到了“/Q”n?est pas侦察命令内部或外部,联合国程序可删除或命令无效现在它像一个符咒一样工作5/5谢谢@Compo,问题解决了:)