我有这个 DOS 批处理脚本来查找/替换字符串值,但它在文件的每一行上添加空格。我试过修剪空格,但文件最终完全空白。
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION
set file="C:\Eclipse64\eclipse\configuration\.settings\org.eclipse.ui.ide.prefs"
set OldStr=XXXXXXX
set NewStr=%username%
if "!~OldStr!"=="" findstr "^::" "%~f0"&GOTO:EOF
for /f "tokens=1,* delims=]" %%A in ('"type %file% |find /n /v """') do (
set "line=%%B"
if defined line (
call set "line=echo.%%line:%OldStr%=%NewStr%%%"
for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X >> %file%_new
) ELSE echo.
)
move /Y %file%_new %file% > nul
输入 - 文件中的行:
eclipse.preferences.version=1
RECENT_WORKSPACES=C\:\\Users\\XXXXXXX\\workspace
预期输出:
eclipse.preferences.version=1
RECENT_WORKSPACES=C\:\\Users\\jgemoll\\workspace
实际输出:
eclipse.preferences.version=1
RECENT_WORKSPACES=C\:\\Users\\jgemoll\\workspace
实际输出在每行末尾都有一个尾随空格。