Войти

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


750IL
09-10-2011, 22:28
Здравствуйте помогите пожалуйста воплотить мечту в реальность путём создания в имени папки с подкаталогами этой папки подписи с размером этих папок и подпапок, желаемый вид вложен в файл
до: папка с названием "Сериалы" после: "Сериалы [9,33 GB ↓]
заранее спасибо за помощь.

Kazun
09-10-2011, 23:35
На PowerShell:

Get-ChildItem 'C:\Films' | Where-Object {$_.PsIsContainer} | Rename-Item -NewName {
$sum = " [{0:F2} GB]" -f ((Get-ChildItem $_.fullname -Force -Recurse | Measure-Object Length -Sum).Sum/1gb)
$_.fullname + $sum.replace(".",",")
} -PassThru -WhatIf

Посмотреть вывод и если удовлетворяет,убрать параметр -WhatIf.

750IL
10-10-2011, 09:40
Kazun огромное спасибо! Столкнулся с такими проблемами как: подпапки он не именует, созданные ранее метки с размером он не перезаписывает, если я допустим пополнил каталог очередным фильмом, то при выполнении скрипта, размер не обновится.

Kazun
10-10-2011, 15:41
Поправил скрипт,для обновления меток,но подпапки именовать не будет.

Get-ChildItem -LiteralPath 'C:\Films' | Where-Object {$_.PsIsContainer} | Foreach {
$sum = (" [{0:F2} GB]" -f ((Get-ChildItem -LiteralPath $_.fullname -Force -Recurse | Measure-Object Length -Sum).Sum/1gb)).replace(".",",")

if($_.name -match " \[.+ GB]"){
if ($matches[0] -ne $sum){
$_.MoveTo(($_.fullname -replace [regex]::Escape($matches[0]),$sum))
}
}
else {
$_.MoveTo($_.fullname + $sum)
}
}

Iska
10-10-2011, 16:48
750IL, а какова глобальная цель добавления размера содержимого в имя папки? Если просто для «посмотреть» — есть иные практичные способы.

750IL
10-10-2011, 17:16
Существует локальная сеть, стоит сервер, на этом сервере расшаренна папка "Сериалы", с правами на изменение по сети, т.е человек находящийся в сети заходит на сервер, заливает в эту папку фильм, требуется чтобы все юзеры сети заходящие ко мне на сервер видели размер папки, в том числе и я. Также чтобы этот скрипт обновлял размер моего контента каждые 15-30 минут, это реализуемо?, прошу помощи всех кто в этом дыбает, чтобы работало всё без лишнего гемора. Спасибо

Ещё такой вопрос
Возможно ли сделать добавление в квадратные скобки размера, к примеру есть папка с именем "(2001) Дальнобойщики [сериал, DVDRip]", нужно чтобы скрипт добавлял в эти самые квадратные скобки размер. Например упростить операцию, не перебирать по табуляциям, а чтобы размер ставился перед знаком "]"

Iska
10-10-2011, 19:22
750IL, спасибо, ясно. Я для сих целей пользую Far Manager.

Вид папки перед операцией:

http://img827.imageshack.us/img827/7672/clipboard01cm.png

После нажатия «F3» на имени потребной папки — отображается её размер:

http://img838.imageshack.us/img838/3975/clipboard02du.png

Для определения суммарного объёма выделенных папок и файлов также достаточно нажать «F3»:

http://img571.imageshack.us/img571/4386/clipboard03uo.png

750IL
10-10-2011, 19:24
Дело в том что я бы конечно поставил его, но заставить это сделать примерно 80 машинам, думаю это будет проблематично=) Но всё равно спасибо за совет.

Ильдар
10-10-2011, 19:45
750IL, используй Disk Triage, с каким нибудь планировщиком.

Iska
10-10-2011, 22:01
Дело в том что я бы конечно поставил его, но заставить это сделать примерно 80 машинам, думаю это будет проблематично »
Я понимаю. Потому, я лишь Вас имел в виду.

750IL, в принципе-то, Проводник показывает суммарный раздел в Tooltip'е — всплывающей подсказке.

750IL
15-10-2011, 20:26
Поправил скрипт,для обновления меток,но подпапки именовать не будет. »

Твой скрипт не обновляет, а дописывает к существуещему имени папки размер, вот что выходит: Сериалы [9,34 GB] [9,34 GB] [9,34 GB] [9,34 GB]

Busla
17-10-2011, 09:34
750IL, и всё равно для подобного безобразия имеются другие, более практичные методы. Например, уже традиционный для файлобмена в локалке DC.




© OSzone.net 2001-2012