这里是例子
文件
ABCD_Afile_1111-11111111_00001.txt
ABCD_Bfile_2222-22222222_00001.txt
ABCD_Cfile_3333-33333333_00001.txt
ABCD_Dfile_4444-44444444_00001.txt
我想移动这些文件,如下所示
folder Afolder_1111-11111111
ABCD_Afile_1111-11111111_00001.txt
Folder Bfolder_2222-22222222
ABCD_Bfile_2222-22222222_00001.txt
folder CFolder_3333-33333333
ABCD_Cfile_3333-33333333_00001.txt
folder DFolder_4444-44444444
ABCD_Dfile_4444-44444444_00001.txt
脚本应按文件字符串1111-1111111找到该文件夹,并将该文件移动到所需的文件夹。
我自己做了一个批处理脚本..但它并不是我想要的......
例如
move D:/x/fikename.txt foldernamehere
我必须把文件夹名称mannualy这对我来说是个问题..
谢谢@stephan
for %%f in (X\:x\*.txt) do ( for /f "tokens=3 delims=_" %%a in ("%%~nf") do ( for /d %%x in (X:\x\*%%a) do ( ECHO move "%%~ff" "%%x\" ) ) )
此代码有效
答案 0 :(得分:0)
假设所有文件都遵循以下语法XXXX_Yfile_0000-00000000_00000.txt
:
@echo off
for %%f in (X:x\*.txt) do (
for /f "tokens=3 delims=_" %%a in ("%%~nf") do (
for /d %%x in (X:\x\*%%a) do (
ECHO move "%%~ff" "%%x\"
)
)
)
如果输出看起来正确,请删除ECHO
。