Jef*_*f K 5 text-processing batch-file
我所拥有的文件有ID,model和date.文件具有类似于格式10000_9999-99_10-01-2011.zip(其中,10000是ID,9999-99是model,当然10-01-2011是date).
我想修改date这些文件的s,但保持会话之间的间隔相同ID.例如,如果2次会议有日期1/1/2011和2/1/2011,我想更新的最后一次会议日期8/1/2012,第一届会议将有日期7/1/2012.
目前我的代码如下所示:
@echo off
setlocal enabledelayedexpansion
del filedates.txt
FOR /F "tokens=1,2,3,4,5 delims=_" %%a in (filenames.txt) do @echo %%c >>filedates.txt
FOR /F "tokens=1,2,3 delims=-" %%a in (filedates.txt) do (
echo %%a%%b
)
Run Code Online (Sandbox Code Playgroud)
输出类似于此(YearMonth):
201107
201109
201204
etc..
Run Code Online (Sandbox Code Playgroud)
我想要读取一行filedates.txt,将此日期存储为变量,然后读取下一行,并将其存储为另一个变量.这样可以比较两个变量,看哪个更大,并且过程将继续.
一次读取两行的一种直接方法是使用循环逐行处理输入文件中的行for /f,并且仅对偶数行进行“反应”。这是示例代码:
@echo off
setlocal enabledelayedexpansion
set evenflag=1
for /f "tokens=*" %%x in (filedates.txt) do set x1=!x2! && set x2=%%x && (
set /a evenflag^^=1 && if !evenflag!==1 (
rem Do something with !x1! and !x2!
))
Run Code Online (Sandbox Code Playgroud)
这里的变量evenflag是一个布尔标志,指示当前行号是否为偶数(1对于偶数行,0为奇数行)。x1并x2保存当前读取的两行。
| 归档时间: |
|
| 查看次数: |
924 次 |
| 最近记录: |