3

以下の for ループで設定した変数 myVar を使用して、ファイルの名前を変更しようとしています。問題は、名前の変更が機能していないことです。理由を教えてもらえますか?

For /F  %%A in ('"type tmpFile2.txt"') do set myVar=%%A
ren file1.txt file2%myVar%.txt
4

3 に答える 3

1

こんにちは、このコードを試してください。

 for /F "tokens=*" %%i in (myfile.txt) do (
    set %filename% = %%i
    ren file1.txt file2%filename%.txt
    )
于 2013-05-17T11:22:15.897 に答える
0

コードは機能しています。問題は tmpfile2.txt コンテンツ (トークン) にある可能性があります。

または、変数値にスペースがあり、それが機能しない理由である可能性があります。

tmpfile2 の内容がなければ、なぜ機能しないのかわかりません。

何が起こっているかを確認するには、次の方法を試してください。

For /F "delims= usebackq" %%# in ("tmpFile2.txt") do (Echo "myVar=%%#" & set "myVar=%%#")
Echo Rename "file1.txt" "file2%myVar%.txt"
Rename "file1.txt" "file2%myVar%.txt"

または、これ以外:

For /F "delims= usebackq" %%# in ("tmpFile2.txt") do (Rename "file1.txt" "file2%%#.txt")
于 2013-05-17T10:34:14.350 に答える