เรียกใช้ช็อตคัตโดยใช้ไฟล์แบตช์


12

นี่คือปัญหา

ฉันมีทางลัดในคอมพิวเตอร์ประมาณ 260 เครื่องซึ่งอยู่ในโฟลเดอร์เดียวกันดังนี้

"c: \ เอกสารและการตั้งค่า \ users \ desktop \ remote agent ทั้งหมด1234 .lnk"

สิ่งเดียวที่เปลี่ยนแปลงบนทางลัดคือหมายเลข มีวิธีใช้ wildcard ในไฟล์แบตช์เพื่อเรียกใช้ทางลัดแทนที่จะต้องระบุชื่อไฟล์แบบเต็มหรือไม่

คำตอบ:


6

คุณสามารถใช้สำหรับหรือforfilesสำหรับงานนี้ Forfiles มีความยืดหยุ่นมากกว่า แต่อาจทำงานได้ไม่ถูกต้องใน Windows เวอร์ชันเก่า

สำหรับ

จากพรอมต์คำสั่ง:

for %a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%a"

ในแบตช์ไฟล์:

for %%a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%%a"

Forfiles

forfiles /P "C:\Documents and Settings\All Users\Desktop" /M "Remote agent *.lnk" /C "cmd /C start \"\" @path"

Forfiles ไปผ่านไฟล์ทั้งหมดในเส้นทางที่ระบุไว้ใน/Pการแข่งขันว่าหน้ากากที่ระบุไว้บนและรันคำสั่งที่ระบุไว้ใน/M /Cนี่@pathคือเส้นทางแบบเต็มของไฟล์

โดยปกติเราจะใช้คำสั่งstart "" "Remote Agent 1234.lnk"เพื่อเปิดทางลัด ตั้งแต่ start เป็นคำสั่งภายในเราต้องเรียกมันใน shell ใหม่ ( cmd /C) \"\"จะหนีออกจากเครื่องหมายคำพูดคู่เนื่องจากสตริงทั้งหมดจะถูกยกมาแล้ว


forfiles / P "C: \ Documents และ Settings \ All Users \ Desktop" / M "ตัวแทนจากระยะไกล * .lnk" / C "cmd / C start \" \ "@path" แสดงรายการไฟล์ในโฟลเดอร์ แต่ไม่เปิด ทางลัด
ghost3h

มันแปลกมาก Echoing ชื่อไฟล์เป็นการกระทำเริ่มต้น แต่/Cสวิทช์แทนที่นั้น Windows รุ่นใด
Dennis

Xp Professional แสดงรายการนามสกุลไฟล์ทั้งหมดที่ฉันถือว่าไม่ปกติใช่หรือไม่
ghost3h

ดูไม่เหมือนเดนนิสที่ได้รับการสนับสนุนมันแค่สะท้อนไฟล์ภายในไดเรกทอรีที่เรียกใช้จากนั้น ขอบคุณสำหรับความช่วยเหลือป่านนี้!
ghost3h

ฉันเพิ่งพบแหล่งที่บอกว่า forfiles รุ่นเก่าบางรุ่นใช้-สำหรับสวิตช์แทน/(ผิดปกติมากสำหรับ Windows) อาจใช้งานได้:forfiles -P"C:\Documents and Settings\All Users\Desktop" -M"Remote agent *.lnk" -C"cmd /C start \"\" @path"
เดนนิส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.