0

現在、ディレクトリを読み取って、パスからバックスラッシュをエスケープしてファイルを配置しようとしています。

コードの一部を次に示します。

for /r "Pictures" %%a in (*) do (
set var=%%a
echo %var:\=\\% >> pic.txt
)

私は\=\\pic.txtに持っていH:\\Pictures\\pic1.jpgますが、出力ファイルに入れたいです。

ここで似たようなものを見ましたが、欲しいものを手に入れることができません。

何か案が ?

編集 :

for /f "delims=" %%x in (pic.txt) do (
set var=%%x
echo %var:\=/% >> pic2.txt
)

\=/リーニュごとに持っています。解決にはほど遠い

4

1 に答える 1

3

あなたの問題は遅延拡張に関連しています。次のように解決します。

setlocal EnableDelayedExpansion
for /r "Pictures" %%a in (*) do (
set var=%%a
echo !var:\=\\! >> pic.txt
)

詳細な説明については、「遅延拡張」をグーグルで検索するか、set /?コマンドでそれに関するセクションを読んでください。

于 2013-06-30T12:11:24.280 に答える