从具有相似开头但不同结尾的文件批量创建文件夹

时间:2016-07-12 11:20:08

标签: batch-file directory

我有一些具有相似起始名称的文件,但结尾不同。我必须为每个“系列”文件创建一个文件夹,这意味着名称以相同的7个characers开头的所有文件。

查看图片的可视化: enter image description here

我现在的代码是
for /F "Tokens=*" %%i in ('Dir /B *.jpg') do md "%%~ni"|copy "%%i" "%%~ni" 这只是为每个文件创建一个文件夹并将其放入其中。

不幸的是我对这种语言知之甚少,只是谷歌搜索它只让我学会​​了如何创建一个子串SET _result=%_test:~0,7%,而不是如何用它来创建文件夹。

我确定这只是一个短暂的序列,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

这可能不是最有效的方法,但它可以帮到你。下面的批处理脚本将输入文件夹和输出文件夹作为用户的输入。然后迭代输入文件夹中的所有文件,并将它们复制到文件名前7个字符的子文件夹下的输出文件夹。

@echo OFF
setlocal ENABLEDELAYEDEXPANSION
REM Get input directory from user
set /p INPUT_DIR=Please enter full path to directory with files:
REM Get ouput directory from user
set /p OUTPUT_DIR=Please enter full path to output directory:
REM Iterate through files and create necessary folders/copy files
for /f %%f in ('dir /b %INPUT_DIR%') do (
    set fullname=%%f
    set trimmedname=!fullname:~0,7!
    set fullpath=%OUTPUT_DIR%\!trimmedname!
    if not exist !fullpath! md !fullpath!
    copy %INPUT_DIR%\%%f !fullpath!
)

这是一个示例输出,显示脚本完成的处理:

Ouptut