它非常复杂....在Windows平台上使用批处理脚本,我需要从输出文件中提取变量字符串,将最终结果编辑为另一个文件。
例如,文件text.log以这种方式填充给我:
C:Windows\xfile\CODSSD1.XXX
C:Windows\xfile\RPDDFSS.XXX
C:Windows\xfile\XCCLDJW.XXX
我只需捕捉所有行中的最后一个单词,以这种方式编辑它们:
XXXCODSSD1
XXXRPDDFSS
XXX......
我尝试过不同的命令,但我不是专家。 非常感谢你! 亲切的问候。
乔
答案 0 :(得分:1)
这是一个非常简单的一行FOR
命令,使用/ F选项来读取文件。您可以使用FOR命令修饰符将文件名拆分为各个部分。 x
修饰符用于文件扩展名。 n
修饰符用于基本文件名。
@echo off
setlocal enabledelayedexpansion
FOR /F "usebackq delims=" %%G IN ("text.log") DO (
set "var=%%~xG%%~nG"
echo !var:~1!
)
pause
答案 1 :(得分:1)
鉴于您的输出文件名为.gitattributes
,我建议类似于以下内容:
text.log
我已将@Echo Off
For /F "UseBackQ Delims=" %%A In ("text.log"
) Do For /F "Tokens=* Delims=." %%B In ("%%~xA%%~nA") Do Echo %%B
Pause
循环分成两行,以保持行长度在80个字符以内。虽然这不是一项要求,但它是最佳实践偏好。
修改强>
要在命令提示符下测试它,您可以使用以下单行:
For