全相对路径,假设程序 test.exe,用法 test.exe filename.bmp
对目录下所有 bmp 文件执行上述命令:
for %a in (*.bmp) do test.exe %a
问题:
当文件名含有 1 个或多个空格时,如 file name.bmp ,出错。
查看原因每次循环运行命令时候*匹配的文件名没有被“”扩进去,程序以空格为界定确定 argv ,上述单条例子变成
test.exe file name.bmp 所以报错
直接 cmd 下:
test.exe ” file name.bmp “ 无问题
尝试过各种添加、参数并未成功。
想实现的目的:
有无办法让 for %a in (*.bmp) do test.exe %a 中的*.bmp 每次匹配到的文件名加到“”中去(试过“*.bmp ”是没用的)
目前的解决方案:
forfiles /M *.bmp /C "cmd /c test.exe @file"
forfiles 命令中的 @file 返回的文件名是含“”的
对目录下所有 bmp 文件执行上述命令:
for %a in (*.bmp) do test.exe %a
问题:
当文件名含有 1 个或多个空格时,如 file name.bmp ,出错。
查看原因每次循环运行命令时候*匹配的文件名没有被“”扩进去,程序以空格为界定确定 argv ,上述单条例子变成
test.exe file name.bmp 所以报错
直接 cmd 下:
test.exe ” file name.bmp “ 无问题
尝试过各种添加、参数并未成功。
想实现的目的:
有无办法让 for %a in (*.bmp) do test.exe %a 中的*.bmp 每次匹配到的文件名加到“”中去(试过“*.bmp ”是没用的)
目前的解决方案:
forfiles /M *.bmp /C "cmd /c test.exe @file"
forfiles 命令中的 @file 返回的文件名是含“”的


