CMD 我需要移动特定目录中的特定文件

CMD i need to move certain files in certain directory

好吧,这很简单..我有很多带有某些 srting 的文件,我想使用 .bat 脚本移动到某些文件夹

这里有例子

个文件

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

我必须手动输入文件夹名称,这对我来说是个问题..

感谢@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\" ) ) )

此代码有效

假设您的 所有 文件都遵循此语法 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