ยกตัวอย่าง
c:\>forfiles /s /m *.* /d -365 /c "cmd /c echo @file is at least one year old."
ลิสรายชื่อไฟล์ทุกไฟล์ในโฟลเดอร์รวมถึงค้นลึกเข้าไปในไดเรกทอรี่ย่อยด้วย ทุกไฟล์ที่มีอายุเก่ากว่า 360 วันนับจากวันที่สร้างไฟล์
แล้ว echo ชื่อไฟล์นั้นออกมา พร้อมต่อท้ายด้วย คำว่า is at least one year old
เราสามารถประยุกต์ได้มากมายจาก forfile เช่น ค้นหาไฟล์ที่ต้องการ และย้ายไปยัง folder อื่น หรือลบทิ้งหรือทำบางอย่างกับไฟล์นั้น
เราอาจาสร้าง batch ที่มีชุดคำสั่ง dos forfiles ที่ลบไฟล์ทุกไฟล์ใน c:/temp ทิ้งถ้ามีอายุเกิน 7 วัน จากนั้นตั้ง windows schedule task ให้มาเรียก batch ไฟล์อาทิตย์ละครั้งครับ เราก็สบายเลย ไม่ต้อง coding ลบไฟล์ด้วย c# สักบรรทัด ใช้วิธีนี้เเทน
อ่านเพิ่มเติมได้ที่นี่ครับ
https://technet.microsoft.com/en-us/lib ... K_examples
DOS คำสั่ง Forfiles ดำเนินการเกี่ยวกับไฟล์(หลายๆไฟล์) ในโฟลเดอร์ที่ระบุ
Moderator: mindphp, ผู้ดูแลกระดาน
- jataz2
- PHP Super Member
- โพสต์: 275
- ลงทะเบียนเมื่อ: 22/02/2011 11:48 am
- jataz2
- PHP Super Member
- โพสต์: 275
- ลงทะเบียนเมื่อ: 22/02/2011 11:48 am
Re: DOS คำสั่ง Forfiles ดำเนินการเกี่ยวกับไฟล์(หลายๆไฟล์) ในโฟลเดอร์ที่ระบุ
option ของ forfiles
/p <Path> : ระบุพาธ
/m <SearchMask> : เช่น /m *.bat หมายถึง ทุกไฟล์ที่เป็น .bat
/s : search into subdirectories recursively (ค้นหาลึกเข้าไปทุกๆ subdirctory เเละ subdirectory ย่อยๆอีก)
/c "<Command>" : คำสั่งที่เราจะกระทำกับไฟล์ เมื่อค้นเจอ
/d : เกี่ยวกับวันที่ของไฟล์
/p <Path> : ระบุพาธ
/m <SearchMask> : เช่น /m *.bat หมายถึง ทุกไฟล์ที่เป็น .bat
/s : search into subdirectories recursively (ค้นหาลึกเข้าไปทุกๆ subdirctory เเละ subdirectory ย่อยๆอีก)
/c "<Command>" : คำสั่งที่เราจะกระทำกับไฟล์ เมื่อค้นเจอ
/d : เกี่ยวกับวันที่ของไฟล์
- jataz2
- PHP Super Member
- โพสต์: 275
- ลงทะเบียนเมื่อ: 22/02/2011 11:48 am
Re: DOS คำสั่ง Forfiles ดำเนินการเกี่ยวกับไฟล์(หลายๆไฟล์) ในโฟลเดอร์ที่ระบุ
forfiles -p "D:\Mix" -s -m *.* -d -30 -c "cmd /c del @path"
ลบไฟล์ที่มีอายุเกิน 30 วันใน D:\Mix
ลบไฟล์ที่มีอายุเกิน 30 วันใน D:\Mix
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 2