Windows バッチファイルでバックスラッシュをスラッシュに変更する 質問する

Windows バッチファイルでバックスラッシュをスラッシュに変更する 質問する

ファイル名と場所を含む変数内のすべてのバックスラッシュ () をスラッシュ (/) に変換しようとしています。これについて読んだところ、次のことがわかりました。

%variable:str1=str2%

そして

set "var=%var:\=/%"

試してみましたが、明らかにうまくいきませんでした。

私の .bat スクリプトの関連セクションは次のとおりです。

FOR %%f IN ("E:\myfiles\app1\data\*.csv") DO (
  echo %%f  
  set "f=%%f:\=/%"
  echo %%f  
  echo.                 
)

出力には、リストされている各ファイル名が 2 回表示されます。

つまりこの行:

set "f=f:\=/%"

期待通りに動作しません。何が間違っているのか分かる人はいますか?

ベストアンサー1

これにより、変数内のバックスラッシュがスラッシュに変更されます。

set "variable=E:\myfiles\app1\data\*.csv"
set "variable=%variable:\=/%"
echo "%variable%"

おすすめ記事