假设我有文件名 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 命令中需要此代码。我尝试了一些代码,但无法以不同的方式解析字符串。因为路径名可以有多个“\”字符。
例如,如果我知道一行中只有两个“\”字符。我可以做类似的事情:
for /f "tokens=1,4 delims=/\" %%a in (text.txt) do (
echo %%a
)
这只会为第 1 行给出正确答案,即“test_file.abc”但是所有其他行都有不同数量的“\”字符。你觉得我能怎么处理这个?
我想到的一种解决方案是计算“\”的数量并设置令牌第二个参数来决定我需要哪一部分。但我可以做到。此外,令牌值可能不会像我想的那样动态设置。