DOS批处理文件 - 将基于文件名的文件复制到默认文件夹中

时间:2013-05-16 09:20:19

标签: batch-file dos filenames special-folders

我想使用批处理文件将它们放入默认文件夹,但帐户名称位于文件夹的中间。我可以在dos命令提示符下使用任何脚本吗?

888123_AAAA_20130313.pdf  
888123_BBBB_20130313 (2).pdf  
888123_CCCC_20130313_2.pdf  
777456_AAAA_20130313.pdf  
777456_BBBB_20130313 (2).pdf  
777456_CCCC_20130313_2.pdf  

默认文件夹:

999-888123-03
666-777456-01

1 个答案:

答案 0 :(得分:0)

@echo off
setlocal EnableDelayedExpansion

rem Create the list of default folders
set folder[888123]=999-888123-03
set folder[777456]=666-777456-01

rem Copy the files
for /F "tokens=1* delims=_" %%a in ('dir /B /A-D *.pdf') do (
    copy "%%a_%%b" "!folder[%%a]!"
)

编辑:以下版本无需初始化默认文件夹列表:

@echo off
for /F "tokens=1* delims=_" %%a in ('dir /B /A-D *.pdf') do (
   for /D %%d in (*_%%a_*) do (
      copy "%%a_%%b" "%%d"
   )
)