我必须移动很多xml文件,命名如下:
- F010199004524001_904.XML
- F010199805946001_737.XML
- F010199904725001_611.XML
- F030390114543001_901.XML
- F030390114544001_257.XML
- F030390114545001_901.XML
在我的批处理文件中,有这样一行:
移动C:\source\F01*.xml C:\target\F01\
现在我有一个问题,有些文件有一个不同的8.3-filename,例如
"F030390114545001_901.XML"的名称为"F01FCF~1.XML",因此此文件也会在目录"F01"中移动。
在我的情况下,命令"fsutil 8dot3name strip"是无用的,因为批处理是在2003服务器上运行的。
是否有任何类型的变通方法或替代命令来解决此问题?
for /f %%a in ('dir /b /a:-d "c:source"^| findstr /i /b "F01"^|findstr /i /e ".xml"') do (
move "%%~fa" "C:targetF01"
)
这个?
编辑
findstr
过滤可以用一个表达式来完成
findstr /beri "f01.*xml"
所以
for /f %%a in ('dir /b /a:-d "c:source"^| findstr /beri "f01.*xml"') do (
move "%%~fa" "C:targetF01"
)