Score:0

ลบโฟลเดอร์ทั้งหมดบนไดรฟ์ทั้งหมดที่มี "foo" หรือ "bar" ในชื่อโฟลเดอร์ที่มีไฟล์แบตช์

ธง jp

ฉันพยายามที่จะ ลบโฟลเดอร์ทั้งหมดบนไดรฟ์ทั้งหมดที่มีรูปแบบการตั้งชื่อด้านบนอย่างไรก็ตาม เฉพาะในระดับโฟลเดอร์แรก เช่น ใต้อักษรระบุไดรฟ์ เช่น:

F:\ชื่อโฟลเดอร์นี้มี FOO และควรลบทิ้ง

...ไม่มีการยืนยันหรือข้อความแสดงข้อผิดพลาด (เช่น ในกรณีที่ไม่พบโฟลเดอร์) ด้วยแบตช์ไฟล์

ฉันพบสิ่งนี้: ลบโฟลเดอร์ทั้งหมดที่มีชื่อ tmp โดยใช้แบตช์ไฟล์ และกำลังสงสัยว่าทางออกจากตรงนั้นเป็นจุดเริ่มต้นที่ดีหรือไม่?

@ปิดเสียงสะท้อน
ตั้ง dir="c:\FOLDERLOCATION\"
FOR /D /R %dir% %%X IN (*.tmp) ทำ RMDIR /S /Q "%%X"
หยุด
ทางออก
Score:1
ธง th

อ่านและปฏิบัติตาม สำหรับ - ปฏิบัติตามคำสั่งตามเงื่อนไขหลายครั้ง. คุณสามารถสมัครได้เช่นกัน FOR-โฟลเดอร์, หรือ FOR-คำสั่งผลลัพธ์ ดังนี้

FOR-โฟลเดอร์ (ข้อเสีย: ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ ไวลด์การ์ดไม่รองรับรูปแบบที่เหมือน regex ดังนั้นเราจึงต้องวนซ้ำหลายครั้ง)

@ปิดเสียงสะท้อน
ตั้ง "dir=c:\FOLDERLOCATION\"
ผลัก "%dir%"
:: ââââ echo สำหรับการดีบัก
FOR /D /R %%X IN (*foo*) DO echo RMDIR /S /Q "%%~fX"
FOR /D /R %%X IN (*แถบ*) DO echo RMDIR /S /Q "%%~fX"
:: ââââ echo สำหรับการดีบัก
ป๊อป
หยุด

FOR-คำสั่งผลลัพธ์ ร่วมกับ ค้นหา (ข้อดี: ค้นหา อนุญาตทั้งรูปแบบการค้นหาที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และ regex อย่างอิสระ):

@ปิดเสียงสะท้อน
ตั้ง "dir=c:\FOLDERLOCATION\"
FOR /F "delims=" %%X IN ('dir /B/S /A:D "%dir%" ^| findstr /I "foo|bar"') DO 2>NUL echo RMDIR /S /Q " %%~fX"
:: ECHO ในบรรทัดด้านบนสำหรับการดีบักเท่านั้น
หยุด

ข้อเสียก็คือ ผบ รายการถูกสร้างขึ้นแบบคงที่ดังนั้นเราจึงจำเป็นต้อง เปลี่ยนเส้นทางข้อความแสดงข้อผิดพลาดโดยใช้ 2>NUL

jp flag
สุดยอด! เป็นไปได้ไหมที่จะปล่อยให้แบตช์ไฟล์ทำงานแบบล่องหนและรอให้ไดรฟ์ใหม่ปรากฏขึ้น เช่น ฮาร์ดไดรฟ์ภายนอก เป็นต้น แล้วดำเนินการกับสิ่งเหล่านี้ด้วย
jp flag
Btw. การตั้งค่า "dir=c:\FOLDERLOCATION\" ทำอะไร
JosefZ avatar
th flag
[จัดการกับคำพูดในสคริปต์ชุด Windows](https://stackoverflow.com/questions/535975/)กำหนดตัวแปรเป็น `set "dir=c:\FOLDERLOCATION\"` (ค่าของมันไม่รวมอัญประกาศ) และใช้อัญประกาศหากจำเป็น เช่น `พิมพ์ "%dir%%file%%ext%"` (ระบุ `set "file=some file name"` และ `set "ext=.ext"`)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา