जवाबों:
एकल उद्धरण चिह्न उस मामले में नहीं करेंगे। आपको प्रत्येक पथ पर उद्धरण चिह्नों को जोड़ना होगा और उद्धरण चिह्नों में पूरे कमांड को जोड़ना होगा:
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
विंडो 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)
अब 5 वीं कॉलम में शॉर्ट 8 कैरेक्टर फाइल या फोल्डर नाम का उपयोग करें, जैसे 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') के रूप में पाठ की व्याख्या करता है। उदाहरण के लिए:
%% A में ('dir / b / s * .txt') do ('कमांड')
%% A में ('dir / b / s * .txt') do (echo "%% A")
और एक अच्छी बात, cmd बैश की तरह * केस सेंसिटिव नहीं है। तो "New FiLE.txt" और "new file.TXT" एक जैसे हैं।
* नोट: %% उपरोक्त मामले में केस-संवेदी है (%% A %% के बराबर नहीं है) a।
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\*.*"
कमांड प्रॉम्प्ट में रिक्त स्थान (VBA शेल कमांड कोड लाइन में)
मुझे एक समान समस्या थी जो कमांड प्रॉम्प्ट में एक जगह होने के नाते समाप्त हो गई जब कमांड विंडो से सामग्री को एक पाठ फ़ाइल में लाने के लिए वीबीए के माध्यम से स्वचालित किया गया। यह धागा कई लोगों में से एक था जिसने इस तरह से पकड़ा कि मुझे बहुत समाधान नहीं मिला।
तो यह एक समान समस्या से दूसरों की मदद कर सकता है: चूंकि उद्धरणों के साथ वाक्यविन्यास हमेशा सही होना मुश्किल होता है, मुझे लगता है कि कुछ विशिष्ट उदाहरण हमेशा उपयोगी होते हैं। शेल की चीज़ के माध्यम से VBA में कमांड प्रॉम्प्ट का उपयोग करने पर आपको जो अतिरिक्त समस्या आती है, वह यह है कि कोड लाइन अक्सर त्रुटि नहीं होगी जब कुछ गलत हो जाता है: वास्तव में ब्लैक कमेंड विंडो के पलक झपकने से कुछ सोचने में गड़बड़ हो जाती है।
उदाहरण के रूप में ... कहते हैं कि मेरे पास एक फ़ोल्डर है, जैसे कि इसमें एक पाठ फ़ाइल
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