-1

Я могу найти все папки с именем "SS" (заменены) в иерархии и перечислить расположение каждой из них.

Я использовал этот код для передачи списка.

DIR /AD /B "SS" /S> SS_Folder_List.txt

Как я могу использовать либо Powershell, либо командную строку, чтобы взять этот список и вернуть общий размер каждой папки?

2 ответа2

1

Вы можете сделать это с помощью одной команды:

for /d /r %%d in (ss.?) do dir "%%d" | Find "File(s)"

Некоторые заметки:

  • Ваша система должна быть на английском языке, в противном случае измените файл (ы) на то, что ваша система выводит на команду dir
  • Цикл for нуждается в подстановочном знаке, следовательно, ss. Итак, если у вас есть папки, вызываемые для экземпляра ss.s, они также будут включены
  • При запуске из командной строки используйте% d вместо %% d
0

в соответствии с первым решением в разделе Как составить список всех папок с размером через командный файл, ваш ответ будет следующим:

@echo off
setlocal disabledelayedexpansion

set "folder=ss%~1"
if not defined folder set "folder=%cd%"

for /d %%a in ("%folder%\*") do (
    set "size=0"
    for /f "tokens=3,5" %%b in ('dir /-c /a /w /s "%%~fa\*" 2^>nul ^| findstr /b /c:"  "') do if "%%~c"=="" set "size=%%~b"
    setlocal enabledelayedexpansion
    echo(%folder%\%%~nxa Size = !size!
    endlocal
)

endlocal

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .