CMD我需要移动特定目录

时间:2017-12-13 04:57:49

标签: file batch-file cmd move operation

好吧,这很简单..我有很多文件,有一些特定的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

我必须把文件夹名称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\" ) ) )

此代码有效

1 个答案:

答案 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