linux下命令行修改文件有很多工具,比如sed,但Windows下就没那么方便,不过for和move命令为命令修改文件提供一个途径,虽然不好用,但总比没有强啊。简单的修改还是可以的。原理就是for循环读取文件中的每一行,处理后输出到临时文件,然后用move命令将临时文件改名,覆盖原文件内容。
以下是一个示例,修改一个Java代码,对以public static final NativeLibrary和public static final AppauthLibrary开头的行,添加//注释符
rem 定义变量延迟环境,关闭回显
@setlocal enabledelayedexpansion
rem 读取文件所有内容
for /f "delims=" %%i in (src\main\java\net\facelib\appauth\jna\AppauthLibrary.java) do (
rem 设置变量a为每行内容
set a=%%i
rem 替换内容
set "a=!a:public static final NativeLibrary=//public static final NativeLibrary!"
set "a=!a:public static final AppauthLibrary=//public static final AppauthLibrary!"
rem 把修改后的全部行存入$
echo !a!>>$)
rem 用$的内容替换原来文件内容
move $ src\main\java\net\facelib\appauth\jna\AppauthLibrary.java || EXIT /B
Windows批处理命令行修改文件内容
这篇博客介绍了如何在Windows环境下使用批处理命令for和move来实现对文件内容的修改,类似于Linux下的sed命令。通过读取文件、处理每一行、写入临时文件,然后用move命令替换原文件,实现了简单的文本替换功能。示例中展示了如何注释掉Java代码中特定开头的行。
2711





