2016-08-19 4 views
2
START "Test Server" "%~dp0\server.exe" LAN %M%.aao log=server.log ini=server.ini 

"LAN"の後のすべてがserver.exeによって実行されていませんサーバのログファイルそれはLANをオープンしようとしていますが、 "LAN"が無視されていることを意味する%m%.aaoをオープンしようとしています。起動時の "%〜dp0 server.exe"を使用してサーバを起動すると、空白のためにパラメータが無視される

どうすればこの問題を解決できますか?私はWOTGrealからバッチファイルを実行しようとしているよう

START "Test Server" server.exe LAN %M%.aao log=server.log ini=server.ini 

を使用して

は動作しません。なぜか分かりませんが、私が開いた他の2つのファイル/プログラムのために修正した方法は%〜dp0を使用することでしたが、サーバーはスペースを無視しないことを要求しています。

+0

環境変数 'M 'による文字列の保持に空白または' '()[] {}^=;!' +、'〜 ''の文字列が含まれている場合は、 %M%.aao "' – Mofi

+0

'%〜dp0server.exe '' 'に'%〜dp0server.exe "を'%〜dp0server.exe "に変更します。'%〜dp0'で参照されたバッチファイルのドライブとパスは常にバックスラッシュで終わっていて、より多くのバックスラッシュは 'server.exe'へのパスに2つのバックスラッシュを連続して実行します。 Windowsのカーネル関数は、このエラーをpathで修正していますが、誤った実行ファイルへのパスを指定することは好ましくありません。 – Mofi

答えて

0

私はバッチファイルを別のフォルダから実行されますWOTGreal

からバッチファイルを実行しようとしています。つまり、server.exeは別のフォルダから実行されます。したがって、%M%.aao log=server.log ini=server.iniのようなローカルファイル名は間違ったディレクトリから読み込まれます。

他のすべてのパスで%~dp0も使用して解決できます。しかし、おそらくバッチファイルの先頭にあるカレントディレクトリを変更する方が簡単です。これを行うには、バッチファイルの先頭に次の行を追加します。

cd /d "%~dp0" 
+1

ありがとう、今は素晴らしい作品! – LEEFFM

関連する問題