[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理for指令如何使用带空格的全路径外部命令?

如下2条for指令在命令行方式下运行,第1条指令正常运行,第2条指令报错(在批处理中执行效果一样)。求助于各位大神,for指令中如何使用带空格的全路径外部命令(如"C:\Program Files\jhead\jhead.exe"),谢谢

指令1
@for /f "usebackq tokens=*" %b in (`jhead.exe -c "D:\tmp\*.jp*g"`) do @(echo %b)
结果:
"D:\tmp\01.jpg" 1836x1032

指令2
@for /f "usebackq tokens=*" %b in (`"C:\Program Files\jhead\jhead.exe" -c "D:\tmp\*.jp*g"`) do @(echo %b)
报错:
'C:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

(jhead.exe应用下载地址: http://bcn.bathome.net/s/tool/index.html?key=jhead

这是C:\Program Files\jhead\jhead.exe 文件不存在.
语法没有错误.
  1. @for /f "usebackq tokens=*" %b in (`"C:\Program Files\7-Zip\7z.exe" -?`) do @(echo %b)
复制代码
微信:flashercs
QQ:49908356

TOP

这是C:\Program Files\jhead\jhead.exe 文件不存在.
语法没有错误.
flashercs 发表于 2022-6-30 09:51



    jhead.exe 应用下载地址: http://bcn.bathome.net/s/tool/index.html?key=jhead
感谢回复。请从以上链接下载后测试,谢谢

TOP

本帖最后由 flashercs 于 2022-6-30 10:28 编辑
  1. @for /f "usebackq tokens=*" %b in (`C:\"Program Files"\jhead\jhead.exe -c "D:\tmp\*.jp*g"`) do @(echo %b)
复制代码
这是jhead.exe的bug;
  1. pushd "c:\program files\jhead"
  2. @for /f "usebackq tokens=*" %b in (`jhead.exe -c "D:\tmp\*.jp*g"`) do @(echo %b)
复制代码
微信:flashercs
QQ:49908356

TOP

这是jhead.exe的bug;
flashercs 发表于 2022-6-30 10:26



    测试有效,感谢

TOP

本帖最后由 hfxiang 于 2022-8-15 15:04 编辑

从CrLf分享的
  1. for /f %%a in ('^;"%programfiles%\winrar\rar.exe" v "1.rar"') do echo %%a
复制代码
(详见 http://www.bathome.net/redirect. ... 3543&ptid=15748 )找到了另1个解决方案。

TOP

返回列表