ファイル名 text.txt があり、いくつかの行が含まれているとします。各行は dayname で始まり、「/」文字で終わり、パスが追加されます。一方、パスではなく各行のファイル名が必要です。したがって、この方法でファイルを変換するには何かが必要です。
mon/C:\stt\test_file.abc
sat/C:\Documents and Settings\alguri\Desktop\test_file2.txt
fri/C:\sat\new_folder2\file3.jpg
に
mon/test_file.abc
sat/test_file2.txt
fri/file3.jpg
dos コマンドでこのコードが必要です。いくつかのコードを試しましたが、さまざまな方法で文字列を解析できません。パス名には複数の「\」文字を含めることができるためです。
たとえば、1 行に「\」文字が 2 つしかないことがわかっているとします。私は次のようなことができます:
for /f "tokens=1,4 delims=/\" %%a in (text.txt) do (
echo %%a
)
これにより、「test_file.abc」である1行目のみ正しい答えが得られますが、他のすべての行では「\」文字の数が異なります。どうすればこれを処理できると思いますか?
私の考えている解決策の 1 つは、「\」の数を数え、トークンの 2 番目のパラメーターを設定して、必要な部分を決定することです。しかし、私はそれを行うことができました。トークンの値に加えて、思ったように動的に設定されない場合があります。