0
我有一个批处理脚本,它应该解析其中包含文件名和时间戳的文件。批处理脚本 - FOR/F中的无效语法
:MAIN
SETLOCAL EnableDelayedExpansion
FOR /F "tokens=1,2,4 skip=7" %%A in (C:\list_of_psa_files.txt) DO
@echo %%A %%B %%C
exit
文件C:\ list_of_psa_files.txt具有以下数据中它
Volume in drive C is Windows XP 6.6
Volume Serial Number is AC12-84AA
Directory of C:\Test
10/05/2011 03:17 PM <DIR> .
10/05/2011 03:17 PM <DIR> ..
10/05/2011 01:21 PM 4,393 1-16332-1008261.psa
10/05/2011 01:21 PM 4,863 1-16332-1011698.psa
10/05/2011 01:21 PM 4,793 1-16332-1023151.psa
10/05/2011 01:21 PM 4,916 1-16332-1035695.psa
10/05/2011 01:21 PM 4,524 1-16332-1037029.psa
10/05/2011 01:21 PM 4,235 1-16332-1049340.psa
10/05/2011 01:21 PM 3,135 1-16332-1049926.psa
10/05/2011 01:21 PM 4,657 1-16332-1054756.psa
然而,当我运行我的脚本,它与消息无效语法失败。有人可以帮我弄清楚我哪里错了。
我所要做的就是获取日期,时间和文件名,而不用将扩展名写入我的旧文件中的新文件。
感谢您的时间 - 欣赏它。
桑德斯。
这是正确的!谢谢你Paxdiablo! – user982201
但是当我尝试将我的输出重定向到另一个文件时,我只是得到它的一行。像这样 - 10/05/2011 01:10 24,971而且代码为SETLOCAL EnableDelayedExpansion :MAIN FOR/F“tokens = 1,2,4 skip = 5”%% A in(C:\ list_of_psa_files .txt)DO(@echo %% A %% B %% C> C:\ list_of_file_ts.txt) exit – user982201
这是一个_different_问题,@ user982201,但我会帮你解决的。你为每一次迭代都做了'blah blah> out.txt'。换句话说,每次迭代_overwrites_文件意味着你只会得到最后一个。在'for'语句中做一个'del out.txt'清空它,然后使用'>>'而不是'>',以便每次迭代_appends_它的数据而不是覆盖它。 – paxdiablo