%~dp0
変数をウィンドウのバッチスクリプト内でエコーして使用したいが、私は書いているが、パスにはスクリプトの他の部分が壊れているスペースが含まれている二重引用%~dp0
しかしそれはまだ働いていないので、ちょうどdir /X
コマンドに現われたフォーマットのような短い名前を使用することを考えていますが、私は%~dp0
の短い名前を得るためにあなたの助けが必要です。Windowsのバッチスクリプトでスペースを含む短い名前を表示する
お願いしますか?
%~dp0
変数をウィンドウのバッチスクリプト内でエコーして使用したいが、私は書いているが、パスにはスクリプトの他の部分が壊れているスペースが含まれている二重引用%~dp0
しかしそれはまだ働いていないので、ちょうどdir /X
コマンドに現われたフォーマットのような短い名前を使用することを考えていますが、私は%~dp0
の短い名前を得るためにあなたの助けが必要です。Windowsのバッチスクリプトでスペースを含む短い名前を表示する
お願いしますか?
%~dp0
変数の前のハイフンは、パスにスペースが含まれている場合は先頭と末尾の引用符を削除することを示します。例えば
:
Path : C:\Program Files\application
%dp0 : "C:\Program Files\application"
%~dp0 : C:\Program Files\application
Path : C:\Windows\System32
%dp0 : C:\Windows\System32
%~dp0 : C:\Windows\System32
あなたは強制的に使用し、引用符をstart
コマンドを使用して、引用符でパスを使用するためには"%~dp0"
を使用することにより、あなたは設定する必要がありますウィンドウのタイトル(空白にすることができます)。例えば。 start %dp0
==>start "" %dp0
@Cody_Grayによってコメントされたように、のパスは短い名前ではありません。
start%〜dp0zookeeper \ bin \ zkServer.cmd %〜dp0に空白が含まれていると、これは動作しません。 – user212051
@ user212051 'start" ""%〜dp0zookeeper \ bin \ zkServer.cmd "' – samdd
を試してみてください!ありがとう! 最終的なもの、そのようにするにはどうすればいいですか? start%〜dp0drill \ bin \ sqlline.bat -u "jdbc:ドリル:zk =ローカル" – user212051
すべてのファイルに短い名前があるわけではありません。実際、短い名前生成は、ファイルシステムレベルで完全に無効にすることができます。これは許容可能な回避策ではありません。あなたは、ファイル名の引用が機能していない理由を理解する必要があります。 –
これは '%dp0'変数の問題ではありません。スクリプトの問題のように聞こえます。あなたの質問にあなたのスクリプトを追加してください – samdd
start%〜dp0zookeeper \ bin \ zkServer.cmd – user212051