Войти

Показать полную графическую версию : [решено] Создание папок по имени файлов


Prizvel
10-04-2022, 23:43
Всем привет.

У меня в одной папке лежат файлы с названиями 0001_room.dat и тд. Есть ли способ через командную строку создать для каждого файла папку с таким же именем, а файл переименовать в room.dat и положить внутрь этой папки?
Нужно в итоге кучу папок с таким именем, и что бы в каждой лежал свой room.dat

DJ Mogarych
11-04-2022, 09:19
Powershell:

$folder = "D:\temp\folder"

cd "$folder"
dir -file |% {
mkdir "$($_.basename)"
mv "$($_.fullname)" "$($_.basename)\room.dat"
}

megaloman
11-04-2022, 09:57
@Echo Off
Set "BoxIn=Z:\Box_In"
Set "Mask=????_room.dat"

For /f "usebackq tokens=1,* delims=_" %%i In (`2^>nul Dir /B /A:-D "%BoxIn%\%Mask%"`) Do (
If Not "%%j"=="" (2>nul md "%BoxIn%\%%i" &>nul Move "%BoxIn%\%%i_%%j" "%BoxIn%\%%i\%%j")
)
Exit /B
Если батник в той же папке, что и файлы, то:@Echo Off
Set "Mask=????_room.dat"

For /f "usebackq tokens=1,* delims=_" %%i In (`2^>nul Dir /B /A:-D "%Mask%"`) Do (
If Not "%%j"=="" (2>nul md "%%i" &>nul Move "%%i_%%j" "%%i\%%j")
)
Exit /B




© OSzone.net 2001-2012