我试图在Windows7中编写一个2行的.bat文件,以便递归地搜索pdfs的根文件夹和子文件夹,然后像在我的文件中那样用FORFILES命令打印它们:
set fxread="C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe"
forfiles /s /m *.pdf /c "%fxread% /p @FILE"给出以下错误:
ERROR: Invalid argument/option - 'Files'.但是,如果我只使用FORFILES来回显文件名,我就会得到一个pdf文件的列表,即如下代码:
forfiles /s /m *.pdf /c "cmd /c echo @FILE"生成一个pdf文件的列表,每一行一个,并以引号括起来。
有人知道我为什么不能把这些文件传递给PDF查看器打印吗?请注意,此命令确实按预期打印了一个pdf文件:
%fxread% /p "FILE_NAME.pdf"发布于 2014-10-30 03:42:30
将字符串包装在引号中以保留空格时,引号将成为字符串的一部分。将其与forfiles所需的引号组合起来,您将传递命令forfiles /s /m *.pdf /c ""C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe" /p @FILE"
将第一个引号放在fxread之前,以避免在字符串中包含引号。此外,需要转义空格、括号和引号的十六进制等价物。
set "fxread=^0x22C:\Program^ Files^ ^(x86^)\Foxit^ Software\Foxit^ Reader\Foxit^ Reader.exe^0x22^ /p"
forfiles /s /m *.pdf /c "cmd /c %fxread% @path"https://stackoverflow.com/questions/26644599
复制相似问题