我是一个批处理文件新手,所以非常感谢您的帮助。我有大量文件存储在一个目录中,我希望根据文件名中的第一个单词将其分类到子文件夹中。所以,我有这样的文件:
C:\Folder\ABC_001
C:\Folder\BCD_001
C:\Folder\CDF_002
C:\Folder\DFE_003
我希望根据第一个单词将所有文件移动到子文件夹,结果如下:
C:\Folder\001\ABC_001
C:\Folder\001\BCD_001
C:\Folder\002\CDF_002
C:\Folder\003\DFE_003
这是我的代码,但它不起作用
@Echo off
PushD C:\folder
for %%A in ("*_*.*") do for /f "tokens=1* delims=-" %%B in ("%%A") do (
If not exist "%%B" MD "%%B"
Move "%%A" "%%B\"
)
PopD
我希望根据文件名中的第一个单词将文件分类到子文件夹中
上面的内容被破坏了,因为
-
它应该是分隔符_
。%%A
由于与您的文件不匹配,以上内容已损坏。它应该是"%%A_%%B"
使用以下批处理文件 (test.cmd):
例子:
进一步阅读
如果您不知道批处理脚本并且雇主不要求它,那么您最好学习和使用 PowerShell。虽然一开始它可能看起来“比较冗长”,但这是一件好事——当你在六个月后查看你的代码并且不记得你做了什么。:D
代码如下所示: