ไม่แน่ใจว่า setlocal มีไว้เพื่ออะไร แต่ฉันพบมันในตัวอย่างสคริปต์สำหรับอย่างอื่นที่ต้องใช้หลายคำสั่งใน for loop
Filelist.txt เก็บรายการไฟล์ที่มีเส้นทางไฟล์แบบเต็มเพื่อแชร์
ตัวอย่างเช่น: \\FileShare\Division\Project\file.txt
setlocal enabledelayedexpansion
for /f "delims=" %%i in (filelist.txt) do (
mkdir "D:\Archive\%%~dpi"
move "%%i" "D:\Archive\%%i")
endlocal
สคริปต์รับไฟล์ใน filelist.txt (ทีละบรรทัด) และคัดลอกโครงสร้างไดเร็กทอรีของพาธ จากนั้นย้ายไฟล์ไปทับ การใช้ตัวอย่างด้านบนจะสร้างไดเร็กทอรี D:\Archive\FileShare\Division\Project\ จากนั้นย้ายไฟล์ file.txt ไปยังไดเร็กทอรีนั้น
ฉันจัดเรียงสิ่งนี้เข้าด้วยกันจากตัวอย่างที่มีอยู่ของงานต่างๆ ที่ฉันพบที่นี่ มีเคล็ดลับในการทำความสะอาดบ้างไหม?
แก้ไข: เพื่อแสดงความคิดเห็นจากจะด้านล่าง สคริปต์ถูกสร้างขึ้นเพื่อทำงานกับรายงานที่สร้างไฟล์ที่ไม่มีการเข้าถึงมานานกว่าหนึ่งปี นี่คือสาเหตุที่จำเป็นต้องแก้ไขรายการไฟล์เนื่องจากฉันต้องการรักษาโครงสร้างโฟลเดอร์และไฟล์อื่นๆ ทั้งหมดให้ครบถ้วน หากมีวิธีใดที่จะรวมสิ่งนี้เข้ากับสคริปต์ได้คงจะยอดเยี่ยมมาก!