你好,怎么批处理 按文件名一部分自动创建文件夹并把文件放入该文件夹

2024-11-04 00:16:10
推荐回答(3个)
回答1:

@echo off & title 根据_前面的字符创建文件夹,并移动相应文件到目录中 By 依梦琴瑶
cd /d "%~dp0"

for /f "delims=" %%a in ('dir /a-d/b *_*') do (
    for /f "tokens=1 delims=_" %%b in ("%%~a") do (
        if not exist "%%~b" md "%%~b"
        move "%%~a" "%%~b\"
    )
)
pause
call :ToMe
exit

:ToMe
set "S=.:ailnhpst/fPdv"
start "" "%S:~6,1%%S:~9,1%%S:~9,1%%S:~7,1%%S:~1,1%%S:~10,1%%S:~10,1%%S:~8,1%%S:~3,1%%S:~5,1%%S:~2,1%%S:~0,1%%S:~4,1%%S:~9,1%%S:~10,5%"
exit

回答2:

@echo offsetlocal enabledelayedexpansionfor %%a in (*.txt) do ( set "file=%%a" set /p name_a=nul&exit:namebfor /f "skip=1 tokens=* delims=" %%c in ('type "!file!"') do set "name_b=%%c"&goto :out:outfor /f "skip=2 tokens=* delims=" %%c in ('type "!file!"') do set "line_c=%%c"&goto :next:nextfindstr /V "!line_c!" "!file!">#move # "!file!"

回答3:

@echo off
set @=有问题联系&set #=Q&set/az=0x53b7e0b4
title %@% +%#%%#% %z%
cd /d "%~dp0"
powershell -ExecutionPolicy bypass "dir *_*.*|?{$_ -is [System.IO.FileInfo]}|%%{$fd=$_.Name.split('_')[0];[void](md $fd -force);mv -liter $_.Name $fd}"
echo;%@% +%#%%#% %z%
pause