下面的命令在所有文件中添加前缀,并在out.txt中列出它们。但
是否有可能在cmd本身中获得所需的输出?任何帮助都将不胜感激。
命令:
for /f %f in ('dir /b /s *.*') do echo dt obsolete %f >> out.txt电流输出:
dt obsolete D:\workdir\src1\drafttest2\python
dt obsolete D:\workdir\src1\drafttest2\draftingdimension\ind
dt obsolete D:\workdir\src1\drafttest2\draftingdimension\ind\GB_005.seq
dt obsolete D:\workdir\src1\drafttest2\draftingdimension\ind\GB_005_py.py 期望输出:
dt obsolete GB_005.seq
dt obsolete GB_005_py.py发布于 2019-03-06 11:43:05
您可以从cmdline试一试:
for /f %f in ('dir /b /s *.*') do echo dt "obsolete_%~nxf">>out.txt或者如果您想包括路径:
for /f %f in ('dir /b /s *.*') do echo dt "%~dpfobsolete_%~nxf">>out.txt不确定是否计划只对文件或文件和文件夹执行此操作,但如果仅针对文件,则:
for /f %f in ('dir /b /s /a-d *.*') do echo dt "%~dpfobsolete_%~nxf">>out.txt要从批处理文件中运行上面的内容,需要在所有的%上加倍
正如我在评论中提到的,从cmd.exe运行for /?可以看到变量展开所需的所有帮助。
https://stackoverflow.com/questions/55021089
复制相似问题