-1

この行で友人のバッチファイルを実行する

for /F "tokens=1 delims=¶" %%i in ('which synplify_pro.exe') do set synplify_path=%%~dpi

変数 synplify_path は、c:\cygdrive が前に追加されて設定されています。

窓の部分だけ欲しい。

pre-pend を防止したり、windows の部分だけを元に戻す方法はありますか?

4

1 に答える 1

2

結果からその部分を単純に削除できます。

ループの後に常にある場合は、次のように単純に切り取ることができます。

SET synplify_path=%synplify_path:~11%

11文字列の長さですc:\cygdrive。問題のある文字列の\直後に があり、それも削除する必要がある場合は、それを にし12ます。

または、次のようにすることもできます。

SET synplify_path=%synplify_path:c:\cygdrive=%

c:\cygdriveこれにより、 inのすべてのエントリが%synplify_path%空の文字列に置き換えられます。つまり、単にその部分文字列が削除されます。このメソッドは、何らかの理由で結果に含まれない可能性がある場合に適しています。c:\cygdrive文字列に が含まれていない場合、メソッドは文字列を変更せずに残しますc:\cygdrive

c:\cygdriveただし、パスが気に入らないコマンドで実際に問題を解決しようとするべきではないかどうかはわかりません...

于 2012-06-29T18:52:27.140 に答える