2014-09-27 66 views
0

我需要删除“@ 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 "[email protected];@DayZ_Epoch;@DayZ_Epoch_Server;" 

我尝试了多个不同的soloutions在这里找到,但没有给我正确的结果。

我应该留下:提前

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 "[email protected]_Epoch;@DayZ_Epoch_Server;" 

感谢。

+0

这必须使用批处理完成,因为它用于编辑TCAdmin控制面板上的用户文件。 – user3662307 2014-09-27 19:49:56

回答

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 
+0

如何在执行此操作之前打开文件? for/f“tokens = 3”%% a in(myfile)do( – user3662307 2014-09-27 20:06:49

+0

)我假定基本的批处理知识,因为您特意询问有关替换字符串的信息 – ths 2014-09-27 21:17:40

+0

这只是在新文件中输出以下内容, 开始D:\ TCAFiles \ Users \ admin \ 5 \ – user3662307 2014-09-27 23:19:04

0

因为它的立场,这是区分大小写的。

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

这将使用名为repl.bat(由dbenham)的辅助批处理文件 - 下载来​​自:https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

repl.bat在同一文件夹中的批处理文件或者是道路上的一个文件夹中。

相关问题