我是脚本新手,有些人可以帮助我,
我想创建一个
的批处理文件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种类型的扩展名。
非常感谢任何帮助。
阿卜杜勒
答案 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
修改了MD
和MOVE
命令以满足所需的目标目录。
答案 2 :(得分:0)
有一种创建随机文件夹的方法:
写入新的批处理文件:
:start
md c:\Users\...\%random%
goto start
这将开始创建随机文件夹,最多可以创建36833个文件夹。