วิธีคัดลอกไฟล์ตามรายการไฟล์โดยใช้สคริปต์แบทช์


2

ฉันมีโฟลเดอร์ที่มีไฟล์จำนวนมากและฉันมีรายการ (txt) ของไฟล์เฉพาะที่ฉันต้องการคัดลอกจากโฟลเดอร์นี้

มันจะเป็นดังนี้: สำหรับแต่ละชื่อไฟล์: cp (ชื่อไฟล์ในโฟลเดอร์) ถึง (ชื่อไฟล์ใน new_folder)

ฉันจะทำดังกล่าวข้างต้นโดยใช้ชุดสคริปต์ได้อย่างไร


โฟลเดอร์ cd copy * .txt newfolder ทำงานหรือไม่
Hennes

ไม่ฉันไม่พยายามคัดลอกไฟล์ * .txt ทุกไฟล์ แต่ฉันมีไฟล์ txt ซึ่งมีรายการไฟล์ที่ต้องการที่ฉันต้องการคัดลอก
กลอง

คุณมีคำตอบและคำถามที่คล้ายกัน [ที่นี่] [1] [1]: stackoverflow.com/questions/1224880/…
Mislav Novalić

คำตอบ:


4

ทำซ้ำมากกว่าไฟล์ข้อความ:

for /f "delims=" %%L in (foo.txt) do

คัดลอกไฟล์:

copy "%%L" new_folder

เสร็จสิ้น:

for /f "delims=" %%L in (foo.txt) do copy "%%L" new_folder

สิ่งใดควรเป็นโฟลเดอร์ปัจจุบันของฉันเมื่อเรียกใช้สิ่งนี้
กลอง

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

ใช้งานได้ดีมาก ฉันวางไฟล์แบตช์บรรทัดเดียวและ foo.txt ไว้ในโฟลเดอร์เดียวกับไฟล์ที่จะคัดลอก ฉันสร้าง foo.txt กับ dir / b> foo.txt
Tiberia

@Tiberia ทำไมคุณต้องรำคาญกับไฟล์ข้อความในกรณีนั้น เพียงใช้for %%F in (*) do copy "%%F" new_folderแทน (หรือโดยตรงบนบรรทัดคำสั่งโดยแทนที่%%Fด้วย%F) อย่างไรก็ตามในกรณีที่คุณยังสามารถใช้ธรรมดา:copy copy * new_folder
Joey

@Joey - เพราะฉันเพียงต้องการคัดลอกไฟล์บางไฟล์ในโฟลเดอร์นั้น (ซึ่งมีหลายร้อยไฟล์) ฉันสร้างรายการไฟล์แก้ไขรายการและใช้แบทช์นี้เพื่อคัดลอก
Tiberia
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.