首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FORFILES将文件传递给程序

使用FORFILES将文件传递给程序
EN

Stack Overflow用户
提问于 2014-10-30 03:32:54
回答 1查看 1.2K关注 0票数 0

我试图在Windows7中编写一个2行的.bat文件,以便递归地搜索pdfs的根文件夹和子文件夹,然后像在我的文件中那样用FORFILES命令打印它们:

代码语言:javascript
复制
set fxread="C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe"
forfiles /s /m *.pdf /c "%fxread% /p @FILE"

给出以下错误:

代码语言:javascript
复制
ERROR: Invalid argument/option - 'Files'.

但是,如果我只使用FORFILES来回显文件名,我就会得到一个pdf文件的列表,即如下代码:

代码语言:javascript
复制
forfiles /s /m *.pdf /c "cmd /c echo @FILE"

生成一个pdf文件的列表,每一行一个,并以引号括起来。

有人知道我为什么不能把这些文件传递给PDF查看器打印吗?请注意,此命令确实按预期打印了一个pdf文件:

代码语言:javascript
复制
%fxread% /p "FILE_NAME.pdf"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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之前,以避免在字符串中包含引号。此外,需要转义空格、括号和引号的十六进制等价物。

代码语言:javascript
复制
set "fxread=^0x22C:\Program^ Files^ ^(x86^)\Foxit^ Software\Foxit^ Reader\Foxit^ Reader.exe^0x22^ /p"
forfiles /s /m *.pdf /c "cmd /c %fxread% @path"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26644599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档