Jak używać spacji w wierszu poleceń systemu Windows?
cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*
W takim przypadku nie wystarczy pojedynczy znak cudzysłowu. Musisz dodać znaki cudzysłowu wokół każdej ścieżki, a także zawrzeć całe polecenie w cudzysłowie:
cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""
cmd /C
CEEMEA & LATAM.doc
. Co powinienem zrobić?"C:\Program Files\WinRAR\rar" a -agmmddyy -x*CEEMEA & LATAM.doc ".rar"
Właśnie zorientowałem się, że w przypadku, gdy ścieżka wymaga użycia białych znaków, na przykład gdy potrzebuję uzyskać dostęp do aplikacji,
xyz
która lokalizacja to:Aby uruchomić to z wiersza poleceń systemu Windows, musisz użyć
lub
źródło
Jeśli podwójne cudzysłowy nie rozwiązują problemu, spróbuj np
aby uzyskać listę alternatywnych nazw plików lub katalogów. Przykładowe dane wyjściowe:
Teraz w swoich poleceniach użyj krótkiego 8-znakowego pliku lub nazwy folderu w 5. kolumnie, np. PROGRA ~ 1 lub DEFAUL ~ 1.XML. Na przykład:
źródło
Obejmuj ścieżki zawierające spacje podwójnymi cudzysłowami.
źródło
Rar.exe
jest faktycznie składnia argumentu . Być może używasz go nieprawidłowo. Może spróbujesz"D:\Hello 2\"
czy"D:\Hello 2"
zamiast"D:\Hello 2\*.*"
?CEEMEA & LATAM.doc
. Co to powinno być?"C:\Program Files\WinRAR\rar" a -x*CEEMEA & LATAM.doc ".rar"
Spróbuj podać złożone nazwy ścieżek w cudzysłowie (i dołącz rozszerzenia plików na końcu).
Dla plików:
Dla katalogu:
CMD interpretuje tekst z podwójnymi cudzysłowami („xyz”) jako jeden ciąg, a tekst w pojedynczych cudzysłowach („xyz”) jako polecenie. Na przykład:
I jedna dobra rzecz: cmd nie rozróżnia * i wielkości liter jak bash. Zatem „Nowy plik fiLE.txt” i „nowy plik.TXT” są do niego podobne.
* Uwaga: W zmiennych %% A w powyższych przypadkach rozróżniana jest wielkość liter (%% A nie jest równy %% a).
źródło
Wolę zawrzeć komendę,
()
która jest poprawna,batch
co ułatwia czytanie:źródło
działało to dla mnie w pliku wsadowym
źródło
Wystarczy dodać znak cudzysłowu
Przykład: „C: \ Users \ User Name”
Mam nadzieję, że zostało rozwiązane!
źródło
Powinieneś spróbować użyć cytatów.
źródło
Spacje w wierszu polecenia (w wierszu kodu powłoki VBA)
Miałem bardzo podobny problem, który skończył się spacją w wierszu polecenia podczas automatyzacji za pomocą VBA, aby uzyskać zawartość z okna poleceń do pliku tekstowego. Ten wątek był jednym z wielu, które złapałem po drodze, co nie do końca dało mi rozwiązanie.
Może to pomóc innym z podobnym problemem: Ponieważ składnia z cudzysłowami zawsze jest trudna do poprawienia, myślę, że pokazanie niektórych konkretnych przykładów jest zawsze przydatne. Dodatkowym problemem, który pojawia się przy użyciu wiersza polecenia w VBA za pośrednictwem powłoki, jest to, że linia kodu często nie popełnia błędu, gdy coś pójdzie nie tak: w rzeczywistości mrugnięcie czarnego okna polecenia wprowadza w błąd, myśląc, że coś zostało zrobione.
Jako przykład… powiedz, że mam folder z plikiem tekstowym jak w
C: \ Alans Folder \ test1.txt ( https://imgur.com/FELSdB6 )
Miejsce w nazwie folderu stanowi problem.
Coś takiego działałoby, zakładając, że Folder AlansFolder istnieje
To nie zadziała. (To nie będzie błąd).
Włączenie par cytatów na ścieżce sprawi, że będzie działać
(Nawiasem mówiąc, jeśli plik tekstowy nie istnieje, zostanie utworzony).
Z perspektywy czasu widzimy, że moje rozwiązanie wiąże się w przybliżeniu z niektórymi już podanymi.
Konwersja tego wiersza kodu na ręczne polecenie otrzymalibyśmy
To wydaje się działać
Działa to również
To nie
Ta ostateczna forma również działa i wiąże się z rozwiązaniem sacra… ” Musisz dodać cudzysłowy wokół każdej ścieżki, a także umieścić całe polecenie w cudzysłowie „… ..
źródło
Może rozwiązać ten problem przez cd polecenia , to polecenie rozpoznaje spacje bez podwójnych cudzysłowów i można w ten sposób wywołać dowolny program, na przykład:
C: \ Windows \ system32> cd c: \ Program Files \ MongoDB \ Server \ 3.2 \ bin
c: \ Program Files \ MongoDB \ Server \ 3.2 \ bin> mongo teraz uruchom wiersz polecenia mongo.exe
źródło