コマンドプロンプトでスペースを使用するにはどうすればよいですか?


188

Windowsコマンドラインでスペースを使用するにはどうすればよいですか?

cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*

回答:


257

その場合、単一引用符は機能しません。各パスを引用符で囲み、コマンド全体を引用符で囲む必要があります。

cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""

4
はい、すべてのパスは引用符で囲む必要があります。また、コマンド全体をもう一度別のペアの引用符で囲む必要がありました。今ではうまくいきます!ありがとう!
2013年

@sakraも私のために働いていません。"" C:\プログラムファイル\ WinRARの\ WinRAR.exe " "C:\ VERI tabani yedekler \ Dedicated_Pokemon_Pets_DB_Backup_2014_7_10_7_2.rar" -ri1 -mt2 -M5 "C:\ VERI tabani yedekler \ Dedicated_Pokemon_Pets_DB_Backup_2014_7_10_7_2.bak""
MonsterMMORPG

3
@MonsterMMORPGの行の先頭にcmd /C
sakra

@sakraスペースを含む名前のファイルを除外しますCEEMEA & LATAM.doc。私は何をすべきか?"C:\Program Files\WinRAR\rar" a -agmmddyy -x*CEEMEA & LATAM.doc ".rar"
Ibn e Ashiq 2017

私のために働いたが、外の引用符なしで: "C:\ Program Files(x86)\ WinRar \ Rar.exe" a "D:\ Hello 2 \ File.rar" "D:\ Hello 2 \"
user1620090

77

パスに空白文字の使用が含まれる場合、たとえば、次のxyz場所にあるアプリにアクセスする必要がある場合に、それがわかったところです。

C:\Program Files\ab cd\xyz.exe

これをwindows cmdプロンプトから実行するには、使用する必要があります

C:\"Program Files"\"ab cd"\xyz.exe

または

"C:\Program Files\ab cd\xyz.exe"

22

二重引用符で問題が解決しない場合は、たとえば

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 

これは簡単な方法です。二重二重引用符mucky-muckは含まれません。
デイブアンダーソン

短い8.3はNTFSオプションであり、無効にできることを知っていますか?それに依存しないでください。
Zan Lynx

10

スペースを含むパスは二重引用符で囲みます。

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\*.*"
JAB、2011年

cmd / C "C:\ Program Files(x86)\ WinRar \ Rar.exe" a D:\ Hello \ File.rar D:\ Hello *。*(スペースはなく、機能します)が、スペースを扱いますか?
faressoft

@JABのように、スペースのある名前のファイルを除外する必要がある場合CEEMEA & LATAM.doc。それは何であるべきですか?"C:\Program Files\WinRAR\rar" a -x*CEEMEA & LATAM.doc ".rar"
Ibn e Ashiq 2017

10

複雑なパス名を二重引用符で囲みます(ファイルの最後にファイル拡張子を含めます)。

ファイルの場合:

call "C:\example file.exe"

ディレクトリの場合:

cd "C:\Users\User Name\New Folder"

CMDは、二重引用符( "xyz")を含むテキストを1つの文字列として解釈し、単一引用符( 'xyz')内のテキストをコマンドとして解釈します。例えば:

FOR %% A in( 'dir / b / s * .txt')do( 'command')

FOR %% A for( 'dir / b / s * .txt')do(echo "%% A")

また、cmdはbashのように大文字と小文字を区別しません。したがって、「New fiLE.txt」と「new file.TXT」はそれに似ています。

*注意:上記の場合の%% A変数では大文字と小文字が区別されます(%% Aは%% aと等しくありません)。


ファイル名の下線はカウントされますか?「file_name」と「file name」のように
SqueakyBeak

7

少し読みやすくするために、()有効なコマンドを囲むことを好みbatchます。

cmd /C ("C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*")

3
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"

これは私のためにバッチファイルで働いた


2

引用符を追加するだけ

例:「C:\ Users \ User Name」

それが解決したことを願っています!


7
同じことはすでに半ダース回言われました。これはどのような付加価値をもたらしますか?
JJJ


0

コマンドプロンプトのスペース(VBAシェルコマンドコード行)

コマンドウィンドウからテキストファイルにコンテンツを取得するためにVBAを介して自動化すると、非常によく似た問題が発生し、コマンドプロンプトにスペースができてしまいました。このスレッドは、私が解決策を十分に得られなかった方法で私が見つけた多くのスレッドの1つでした。

したがって、これは同様の問題を持つ他の人を助ける可能性があります:引用符付きの構文は常に正しく理解することが難しいため、いくつかの特定の例を示すことは常に役立つと思います。シェルのことを介して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

この最終的な形も機能し、サクラの解決策と連携します…。」各パスを引用符で囲み、コマンド全体を引用符「…..」で囲む必要があります。

cmd.exe /c "ipconfig /all > "C:\Alans Folder\test1.txt""

-3

cdコマンドでこの問題を解決できます。このコマンドは二重引用符のないスペースを理解し、次のようにプログラムを呼び出すことができます。

C:\ Windows \ system32> cd c:\ Program Files \ MongoDB \ Server \ 3.2 \ bin

c:\ Program Files \ MongoDB \ Server \ 3.2 \ bin> mongo now command prompt call mongo.exe

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.