ค้นหาโฟลเดอร์ที่เรียกว่า SS ขนาดคืนของโฟลเดอร์


-1

ฉันสามารถค้นหาโฟลเดอร์ทั้งหมดที่เรียกว่า "SS" (ถูกแทนที่) ในลำดับชั้นและระบุตำแหน่งของแต่ละโฟลเดอร์

ฉันได้ใช้รหัสนี้เพื่อไพพ์รายการ

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

ฉันจะใช้ Powershell หรือ Command Line เพื่อใช้รายการนี้และส่งคืนขนาดรวมของแต่ละโฟลเดอร์ได้อย่างไร


คุณลองทำอะไรไปแล้ว? คุณจะติดการเขียนสคริปต์ตรงไหน?
Ƭᴇcʜιᴇ007

สคริปต์ข้างต้นทำงานได้ฉันต้องการทราบวิธีการทำขั้นตอนต่อไปให้สมบูรณ์ จะส่งคืนรายการโฟลเดอร์ฉันจะรับเอาต์พุตเพื่อรวมขนาดของโฟลเดอร์เหล่านี้ได้อย่างไร
BobJim

คำตอบ:


1

คุณสามารถทำได้ในคำสั่งเดียว:

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

หมายเหตุบางส่วน:

  • ระบบของคุณต้องเป็นภาษาอังกฤษมิฉะนั้นเปลี่ยนไฟล์เป็นสิ่งที่ระบบของคุณส่งออกไปยังคำสั่ง dir
  • For for loop ต้องการ wildcard ดังนั้นss. ดังนั้นหากคุณมีโฟลเดอร์ที่เรียกว่าss.sเช่นนี้จะรวมอยู่ด้วย
  • หากเรียกใช้จากบรรทัดคำสั่งให้ใช้% d แทน %% d

ทำงานได้อย่างยอดเยี่ยม ฉันส่งเอาต์พุตไปยังไฟล์ข้อความ
BobJim

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.