我正在尝试创建一个脚本,列出程序返回的文件名。
该程序名为ShowFiles.exe,它采用如下参数:
"ShowFiles opened ..."
所以参数1是“打开”,参数2是“......”
结果如下:
c:\tmp\test1.txt#0 - add default
c:\tmp\test2.TXT#1 - edit default
我想要的只是获取文件的名称。
像这样:
test1.txt
test2.txt
非常感谢您的帮助。
答案 0 :(得分:3)
您可以使用for /f
迭代命令输出:
for /f %%F in ('ShowFiles ...') do ...
这可以采取一些控制令牌化方式的选项。在您的情况下,文件名显然停在#
,因此以下内容应在#
处拆分,并且只接受第一个令牌:
for /f "tokens=1 delims=#" %%F in ('ShowFiles ...') do (
echo File name: %%F
echo File name without path: %%~nxF
)
然后,您可以使用上面显示的文件名来满足您的需要。如果您只需要输出它们,那么简单的echo %%F
或echo %%~nxF
就足够了。有关这些内容的更多详细信息,请参阅help for
。