Переименование первых подпапок в каждой папке
Можно ли создать батник который входил в некую Главную папку, имеющую множество подпапок с разными уровнями вложения и со всеми этими подпапками (всех уровней вложения) проделывал бы следующее - брал бы первую из них (как они расположены в папке) и добавлял в имя какой-то знак (например - @) спереди.
|
Цитата:
Цитата ruslaw:
Можно ли создать батник который входил в некую Главную папку, имеющую множество подпапок с разными уровнями вложения и со всеми этими подпапками (всех уровней вложения) проделывал бы следующее - брал бы первую из них (как они расположены в папке) и добавлял в имя какой-то знак (например - @) спереди.
|
Хочу уточнить фразу "как они расположены в папке". А как они у вас расположены? В алфавитном порядке, по возрастанию размера или по-другому отсортированы (это вопрос к проводнику)? На powershell решается просто
Код:
function RenameFolder ($folderPath) {
if ($CurPath=gci $folderPath.FullName | ? `
{$_.PsIsContainer -eq $true} | sort | select -First 1) {
RenameFolder ($CurPath)
}
$NewfolderPath=(Split-Path $folderPath.FullName -Parent)+"\@"+`
(Split-Path $folderPath.FullName -Leaf)
Rename-Item $folderPath.FullName -NewName $NewfolderPath -WhatIf
}
RenameFolder (gci "D:\Downloads" | ? {$_.PsIsContainer -eq $true} | `
sort | select -First 1)
|
Цитата:
Цитата sunnykey
А как они у вас расположены? В алфавитном порядке, по возрастанию размера или по-другому отсортированы (это вопрос к проводнику)? »
|
Это вопрос к файловой системе. На NTFS — всегда в лексикографическом, на FATx — в порядке поступления в каталог.
|
Если без разных уровней вложений, то просто:
cd /d "Главная Папка"
for /F "delims=" %%d in ('dir /A:D *.*') do (
move %%d @%%~nxd
goto e
)
:e
C вложениями - сложнее. Надо подумать.
Вот придумал и отладил:
Код:
cd /d "Главная Папка"
call :one_dir
for /D /R %%f in (*.*) do (
pushd %%f
call :one_dir
popd
)
goto :eof
:one_dir
for /F "delims=" %%d in ('dir /B /A:D *.*') do (
move %%d @%%~nxd
goto :eof
)
Единственное, что меня смутило: противоречие темы и текста сообщения. В теме идёт речь о VBS/WSH/JS, а в тексте - о батнике. Это же разные языки !
|
А как они у вас расположены? - Да, в алфавитном порядке (по имени)
|
Время: 07:03.
© OSzone.net 2001-