批处理脚本 - 从行中删除字符串

时间:2014-09-27 19:22:06

标签: batch-file

我需要删除“@ DayZLingor181;”从下面一行只使用批次。

start D:\TCAFiles\Users\admin\5\bec.bat
call D:\TCAFiles\Users\admin\5\arma2oaserver.exe -Slots=40 -port=2332 "-config=cfgdayz\config.cfg" "-cfg=cfgdayz\basic.cfg" "-profiles=cfgdayz" "-BEpath=BattlEye" -name=cfgdayz "-mod=@DayZLingor181;@DayZ_Epoch;@DayZ_Epoch_Server;"

我尝试了多种不同的解决方案,但没有一个能给我正确的结果。

我应该留下:

start D:\TCAFiles\Users\admin\5\bec.bat
call D:\TCAFiles\Users\admin\5\arma2oaserver.exe -Slots=40 -port=2332 "-config=cfgdayz\config.cfg" "-cfg=cfgdayz\basic.cfg" "-profiles=cfgdayz" "-BEpath=BattlEye" -name=cfgdayz "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;"

提前致谢。

2 个答案:

答案 0 :(得分:0)

请参阅help set

  

%PATH:STR1 = STR2%

如果我们假设您在变量STR中有该行:

SET STR=%STR:@DayZLingor181;=%

用空字符串替换@DayZLingor181;

类似

setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (file.txt) do (
  set STR=%%a
  SET STR=!STR:@DayZLingor181;=!
  echo !STR!>>newfile.txt
)
del file.txt
ren newfile.txt file.txt

答案 1 :(得分:0)

目前,这是区分大小写的。

@echo off
type "file.bat" | repl "@DayZLingor181;" "" L >"newfile.bat"

这使用名为repl.bat的助手批处理文件(由dbenham提供) - 从以下网址下载:https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。