将多个文件夹的第一个文件复制到另一个位置

时间:2015-02-15 16:25:56

标签: batch-file desktop-application file-rename file-copying

我的硬盘上有大约1000个文件夹。每个文件夹包含大约100个.jpg文件。现在我需要从每个文件夹“page(1).jpg”文件复制到某个特定文件夹(每个文件夹包含“page(1).jpg”文件)。还有一件事......最后,在复制之后,来自特定文件夹的每个.jpg文件都需要具有像复制文件夹这样的文件夹的名称。

如何以最简单的方式执行此操作。也许有一些批处理文件或其他东西......

1 个答案:

答案 0 :(得分:0)

未经测试(您需要更改 root_dir target_dir 的名称):

@echo off

set "target_dir=E:\scriptests\redirection"
set "root_dir=E:\scriptests\labels"
pushd %root_dir%
setlocal enableDelayedExpansion

for /f "tokens=* delims=" %%a in  ('dir /b /s  "page ?1?.jpg"') do (
    set "fdir=%%~dpa"
    set stripped=!fdir:~0,-1!
   for %%# in ("!stripped!") do ( 
     echo %%~n#
     set "dir_name=%%~n#"
    )
   copy /y "%%~fa" "%target_dir%\!dir_name!.jpg"  >nul 2>nul
) 
endlocal 
popd
pause