我有一个名为AURNTRNA20170509V141
的文件,我想用文件中的字符串重命名
字符串00AURNTRNA20170509V141
01RNET 201705090010020030000 7158254 562009 AUD-00000000000000000000000.020 200300009502015 03955711000283
01RNET 201705090010020030000 2347394
位于文件的第一行
批处理文件和目标文件都将位于同一目录d:\ abc
从文件中提取:
AURNTRNA.20170509.V141.txt
期望的输出:
Sheet6.ChartObjects.Delete
答案 0 :(得分:1)
重命名一个文件似乎需要做很多工作!你不能打开它复制第一行关闭它并用编辑过的粘贴重命名。
这里说的是使用关于您提供的结构的假设信息的一些解决方案:
@Echo Off
If Not Exist "D:\abc\psgl_extract.txt" GoTo :EOF
Set/P "_S="<"D:\abc\psgl_extract.txt"
For /F "Tokens=1 Delims=0123456789" %%A In ("%_S%") Do (Set "_A=%%A"
For /F "Tokens=*" %%B In ('Call Echo^=%%_S:*%%A^=%%') Do Set "_N=%%B")
Ren "D:\abc\psgl_extract.txt" "%_A%.%_N:~,8%.%_N:~8%.txt"
如果同一目录所有中有多个.txt文件具有相同的假设结构,那么您可以使用此文件:
@Echo Off
SetLocal EnableDelayedExpansion
For %%A In (*.txt) Do (
Set/P "_S="<"%%A"
For /F "Tokens=1 Delims=0123456789" %%B In ("!_S!") Do (Set "_A=%%B"
For /F "Tokens=*" %%C In ('Echo^=!_S:*%%B^=!') Do Set "_N=%%C")
Ren "%%A" "!_A!.!_N:~,8!.!_N:~8!%%~xA")