用随机名称创建自动文件夹的批处理作业

时间:2013-12-09 00:50:12

标签: batch-file

我是脚本新手,有些人可以帮助我,

我想创建一个

的批处理文件

1-查看文件名中的前8个字符,创建这些文件并将其移动到新文件夹,前8个字符作为文件夹名称。

2-然后查看在步骤1中为下一个四个字符系列(9,10,11,12)创建的文件夹,并创建并移动到另一个子文件夹,接下来的4个字符作为文件夹名称。

3-然后查看在步骤2中创建的文件夹,以查找每个文件的扩展名,并创建并移动到扩展名为文件夹名称的新文件夹。

例如,我的文件看起来像这样

ABCEFGHI0703xyz.pdf

STUVWXYZ0805xyz.pptx

移至文件夹

ABCEFGHI \ 0703 \ PDF

STUVWXYZ \ 0805 \ PPTX

请记住前8个字符是随机的,接下来的4个字符是年份和月份,以及9种类型的扩展名。

非常感谢任何帮助。

阿卜杜勒

3 个答案:

答案 0 :(得分:1)

在文件夹中测试:

@echo off
setlocal enabledelayedexpansion
for %%a in (*.*) do (
   set "filespec=%%a"
   set "ext=%%~xa"
   md "!filespec:~0,8!\!filespec:~8,4!\!ext:~1!" 2>nul
   move "%%a" "!filespec:~0,8!\!filespec:~8,4!\!ext:~1!" >nul
)

答案 1 :(得分:0)

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=c:\sourcedir"
SET "destdir=c:\destdir"
FOR /f "delims=" %%a IN (
  'dir /b /a-d "%sourcedir%\*" '
 ) DO (
 SET name=%%~na
 SET ext=%%~xa
 SET name=!name:~0,8!\!name:~8,4!\!ext:~1!
 ECHO MD "%destdir%\!name!"
 ECHO MOVE "%sourcedir%\%%a" "%destdir%\!name!\"
)
GOTO :EOF

修改了MDMOVE命令以满足所需的目标目录。

答案 2 :(得分:0)

有一种创建随机文件夹的方法:

写入新的批处理文件:

:start
md c:\Users\...\%random%
goto start

这将开始创建随机文件夹,最多可以创建36833个文件夹。