我有多个文件,每个文件都有相同的文件名
示例:
但每个文件中的内容都不同。
在令牌点2和4内的文件的第1行和第2行,我能够识别文件。我想用这两个数据点重命名文件。
实施例
在Test.csv文件中,行记录1和2
在Test(1).csv行记录1和2
中在Test(2).csv行记录1和2
中在Test(3).csv行记录1和2
中我想将以下文件重命名为
现在我可以使用第2行和第4个令牌上的数据识别和重命名文件。我希望能够将第2行(令牌4)和第1行(令牌2)上的数据连接起来。以下是我目前的代码。
@echo off
for %%i in (*.csv) do (
for /f "skip=1 token=4 delims=," %%j in ('findstr /B /I "^" "%%i"') do (
ren "%%i" "%%j.temp_txt"
)
)
ren *.temp_txt *.csv
答案 0 :(得分:0)
以下(未经测试)批处理迭代csv并计算内容行,将var1T2 amd line2 token4中的line1 token2存储到L2T4。
生成的重命名命令存储在(伪)数组中并在最后执行
要真正执行重命名,请删除最后一行中的回显。
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
Set Cnt=0
for %%i in (*.csv) do (
Set /A "Line=0,Cnt+=1"
for /f "tokens=2,4 delims=," %%A in ('Type "%%i"') do (
Set /A Line+=1
If !Line! equ 1 Set "L1T2=%%A"
If !Line! equ 2 Set "L2T4=%%B"
)
Set Ren[!Cnt!]=ren "%%i" "!L2T4!_!L1T2!.csv"
)
For /L %%C in (1,1,%Cnt%) Do Echo !Ren[%%C]!