Всем привет.
У меня в одной папке лежат файлы с названиями 0001_room.dat и тд. Есть ли способ через командную строку создать для каждого файла папку с таким же именем, а файл переименовать в room.dat и положить внутрь этой папки?
Нужно в итоге кучу папок с таким именем, и что бы в каждой лежал свой room.dat
CMD/BAT - [решено] Создание папок по имени файлов
-
DJ Mogarych
Re: CMD/BAT - [решено] Создание папок по имени файлов
Powershell:
Код:
Код:
Код: Выделить всё
$folder = "D:\temp\folder"
cd "$folder"
dir -file |% {
mkdir "$($_.basename)"
mv "$($_.fullname)" "$($_.basename)\room.dat"
}-
megaloman
Re: CMD/BAT - [решено] Создание папок по имени файлов
Код:
Если батник в той же папке, что и файлы, то:
Код:
Код: Выделить всё
@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