この行で友人のバッチファイルを実行する
for /F "tokens=1 delims=¶" %%i in ('which synplify_pro.exe') do set synplify_path=%%~dpi
変数 synplify_path は、c:\cygdrive が前に追加されて設定されています。
窓の部分だけ欲しい。
pre-pend を防止したり、windows の部分だけを元に戻す方法はありますか?
この行で友人のバッチファイルを実行する
for /F "tokens=1 delims=¶" %%i in ('which synplify_pro.exe') do set synplify_path=%%~dpi
変数 synplify_path は、c:\cygdrive が前に追加されて設定されています。
窓の部分だけ欲しい。
pre-pend を防止したり、windows の部分だけを元に戻す方法はありますか?
結果からその部分を単純に削除できます。
ループの後に常にある場合は、次のように単純に切り取ることができます。
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
ただし、パスが気に入らないコマンドで実際に問題を解決しようとするべきではないかどうかはわかりません...