ฉันจะใช้ช่องว่างใน Windows Command Line ได้อย่างไร
cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*
ฉันจะใช้ช่องว่างใน Windows Command Line ได้อย่างไร
cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*
คำตอบ:
เครื่องหมายคำพูดเดี่ยวจะไม่ทำในกรณีนั้น คุณต้องเพิ่มเครื่องหมายคำพูดรอบแต่ละพา ธ และใส่คำสั่งทั้งหมดในเครื่องหมายคำพูด:
cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""
cmd /C
CEEMEA & LATAM.doc
ฉันต้องการที่จะไม่รวมไฟล์ที่มีชื่อที่มีช่องว่าง ฉันควรทำอย่างไรดี? "C:\Program Files\WinRAR\rar" a -agmmddyy -x*CEEMEA & LATAM.doc ".rar"
ฉันเพิ่งค้นพบว่าสำหรับกรณีที่เส้นทางเกี่ยวข้องกับการใช้อักขระช่องว่างสีขาวตัวอย่างเช่นเมื่อฉันต้องเข้าถึงแอพxyz
ที่ตั้ง:
C:\Program Files\ab cd\xyz.exe
เมื่อต้องการเรียกใช้จากพรอมต์คำสั่ง windows cmd คุณต้องใช้
C:\"Program Files"\"ab cd"\xyz.exe
หรือ
"C:\Program Files\ab cd\xyz.exe"
หากเครื่องหมายคำพูดคู่ไม่สามารถแก้ไขปัญหาได้ให้ลองเช่น
dir /X ~1 c:\
เพื่อรับรายการไฟล์หรือชื่อไดเรกทอรีอื่น ตัวอย่างผลลัพธ์:
11/09/2014 12:54 AM 8,065 DEFAUL~1.XML Default Desktop Policy.xml
06/12/2014 03:49 PM <DIR> PROGRA~1 Program Files
10/12/2014 12:46 AM <DIR> PROGRA~2 Program Files (x86)
ตอนนี้ใช้ไฟล์อักขระ 8 ตัวหรือชื่อโฟลเดอร์สั้น ๆ ในคอลัมน์ที่ 5 เช่น PROGRA ~ 1 หรือ DEFAUL ~ 1.XML ในคำสั่งของคุณ ตัวอย่างเช่น
set JAVA_HOME=c:\PROGRA~1\Java\jdk1.6.0_45
ใส่พา ธ ที่มีช่องว่างด้วยเครื่องหมายคำพูดคู่
cmd /C "C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*"
Rar.exe
เป็นจริง คุณอาจใช้มันผิด อาจจะลอง"D:\Hello 2\"
หรือ"D:\Hello 2"
แทน"D:\Hello 2\*.*"
?
CEEMEA & LATAM.doc
ถ้าคุณต้องการที่จะไม่รวมไฟล์ที่มีชื่อที่มีช่องว่างเช่น มันควรเป็นอะไร? "C:\Program Files\WinRAR\rar" a -x*CEEMEA & LATAM.doc ".rar"
พยายามระบุชื่อพา ธ ที่ซับซ้อนในเครื่องหมายคำพูดคู่ (และรวมนามสกุลไฟล์ไว้ท้ายไฟล์)
สำหรับไฟล์:
call "C:\example file.exe"
สำหรับสารบบ
cd "C:\Users\User Name\New Folder"
CMD ตีความข้อความด้วยเครื่องหมายคำพูดคู่ ("xyz") เป็นหนึ่งสตริงและข้อความภายในเครื่องหมายคำพูดเดี่ยว ('xyz') เป็นคำสั่ง ตัวอย่างเช่น:
FOR %% A ใน ('dir / b / s * .txt') ทำ ('คำสั่ง')
FOR %% A ใน ('dir / b / s * .txt') ทำ (echo "%% A")
และสิ่งหนึ่งที่ดีคำสั่ง cmd ไม่ได้เป็นตัวพิมพ์เล็กและใหญ่เช่น bash ดังนั้น "ใหม่ fiLE.txt" และ "ใหม่ไฟล์ TXT" ก็เหมือนกัน
* หมายเหตุ: ตัวแปร %% A ในกรณีข้างต้นเป็นตัวพิมพ์เล็กหรือตัวพิมพ์เล็ก (%% A ไม่เท่ากับ %% a)
ฉันชอบที่จะแนบคำสั่ง()
ที่ถูกต้องbatch
ซึ่งทำให้อ่านง่ายขึ้น:
cmd /C ("C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*")
set "CMD=C:\Program Files (x86)\PDFtk\bin\pdftk"
echo cmd /K ""%CMD%" %D% output trimmed.pdf"
start cmd /K ""%CMD%" %D% output trimmed.pdf"
สิ่งนี้ใช้ได้กับฉันในไฟล์แบตช์
เพียงเพิ่มเครื่องหมายคำพูด
ตัวอย่าง: "C: \ Users \ ชื่อผู้ใช้"
หวังว่ามันจะได้รับการแก้ไข!
คุณควรลองใช้คำพูด
cmd /C "C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*"
ช่องว่างใน Commend Prompt (ในบรรทัดรหัสคำสั่ง VBA Shell)
ฉันมีปัญหาที่คล้ายกันมากซึ่งจบลงด้วยการเป็นที่ว่างใน command prompt เมื่อทำงานอัตโนมัติผ่าน VBA เพื่อรับเนื้อหาจากหน้าต่างคำสั่งลงในไฟล์ข้อความ เธรดนี้เป็นหนึ่งในหลาย ๆ วิธีที่ฉันไม่สามารถแก้ปัญหาให้ฉันได้
ดังนั้นสิ่งนี้อาจช่วยผู้อื่นที่มีปัญหาคล้ายกัน: เนื่องจากไวยากรณ์ที่มีเครื่องหมายคำพูดอยู่เสมอยากที่จะเข้าใจฉันคิดว่าการแสดงตัวอย่างที่เฉพาะเจาะจงนั้นมีประโยชน์เสมอ ปัญหาเพิ่มเติมที่คุณได้รับจากการใช้ command prompt ใน VBA ผ่านทาง Shell คือโค้ดบรรทัดมักจะไม่ผิดพลาดเมื่อมีสิ่งผิดปกติ: ในความเป็นจริงการกระพริบตาของหน้าต่างสีดำช่วยให้เข้าใจผิดคิดว่ามีบางอย่างเกิดขึ้น
ตัวอย่างเช่น ... บอกว่าฉันมีโฟลเดอร์โดยมีไฟล์ข้อความอยู่ในนั้นเหมือน
C: \ Alans Folder \ test1.txt ( https://imgur.com/FELSdB6 )
พื้นที่ในชื่อโฟลเดอร์จะทำให้เกิดปัญหา
มีบางอย่างเช่นนี้ใช้งานได้สมมติว่า AlansFolder อยู่ในโฟลเดอร์
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent()
Shell "cmd.exe /c ""ipconfig /all > C:\AlansFolder\test1.txt"""
End Sub
สิ่งนี้ใช้ไม่ได้ (มันจะไม่เกิดข้อผิดพลาด)
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent()
Shell "cmd.exe /c ""ipconfig /all > C:\Alans Folder\test1.txt"""
End Sub
รวมถึงการเสนอราคาคู่รอบเส้นทางจะทำให้การทำงาน
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent()
Shell "cmd.exe /c ""ipconfig /all > ""C:\Alans Folder\test1.txt"""""
End Sub
(โดยวิธีการถ้าไฟล์ข้อความไม่มีอยู่มันจะถูกสร้างขึ้นมา)
ด้วยประโยชน์ของการเข้าใจถึงปัญหาหลังเหตุการณ์เราจะเห็นได้ว่าโซลูชันของฉันเชื่อมโยงกับบางส่วนที่ได้รับแล้ว
การแปลงบรรทัดโค้ดนั้นเป็นคำสั่งที่กำหนดเองที่เราจะมี
ipconfig /all > "C:\Alans Folder\test1.txt"
ดูเหมือนว่าจะทำงาน
งานนี้ยัง
ipconfig /all > C:\AlansFolder\test1.txt
สิ่งนี้ไม่ได้
ipconfig /all > C:\Alans Folder\test1.txt
แบบฟอร์มสุดท้ายนี้ยังทำงานและเชื่อมโยงกับการแก้ปัญหาจาก Sacra ….” คุณต้องเพิ่มเครื่องหมายคำพูดรอบแต่ละพา ธ และใส่คำสั่งทั้งหมดในเครื่องหมายคำพูด “ … ..
cmd.exe /c "ipconfig /all > "C:\Alans Folder\test1.txt""
มันสามารถแก้ปัญหานี้ได้ด้วยคำสั่งcdคำสั่งนี้เข้าใจช่องว่างโดยไม่ต้องใส่เครื่องหมายอัญประกาศคู่กันและคุณสามารถเรียกโปรแกรมด้วยวิธีนี้เช่น:
C: \ Windows \ system32> cd c: \ Program Files \ MongoDB \ Server \ 3.2 \ bin
c: \ Program Files \ MongoDB \ Server \ 3.2 \ bin> mongo ตอนนี้เรียกพรอมต์คำสั่ง mongo.exe