我尝试编写一个批处理文件来解析文件以创建另一个文件及其内容。
但在新的一个中,我将忽略以-Dremote
模式开头的每一行。
这是我的档案
-nl
fr_yy
-clean
-vmargs
-Dgma.environnement=staging
-Duser.timezone=CET
-Dgma.communication=remote
-Dgma.security.disable=false
-Xms256M
-Xmx768M
-XX:PermSize=64m
-XX:MaxPermSize=128m
-Dlogback.configurationFile=file:eclipse/conf-log/logback-error.xml
-Dshut.monitor.active=true
-Dshut.monitor.home=\\mynas05\GMData\Projets\RefonteUtilisateurs\Contrats\shut
-Dshut.applicationRuntimeEnv.systemPropertyKey=gma.environnement-nl
-Dremote_server_MessageWar=http://xxx.xxx.yy
-Dremote_port_MessageWar=40110
-Dremote_server_SinistreWar=http://xxx.xxx.yy
-Dremote_port_SinistreWar=40110
-Dremote_server_FacturationTiersWar=http://xxx.xxx.yy
这是代码
for /f "tokens=*" %%A in (%tempFile%) do (
set test=%%A
IF NOT "!test:~0,7!"=="-Dremote"( type %%i>>%iniFile%)
)
但是所有内容都复制在iniFile中......
答案 0 :(得分:2)
findstr /v /b /l /c:"-Dremote" "%tempFile%" >"%iniFile%"
(首先用假%iniFile%
进行测试......)
答案 1 :(得分:1)
一行中有一些错误。试试这个:
IF NOT "!test:~0,8!"=="-Dremote" (echo %%A>>%iniFile%)
-Dremote
有8个字符,而不是7个字符。)echo
代替type
。(我希望您知道您必须使用延迟扩展(它不在您的代码中)。)
答案 2 :(得分:0)
快速编辑应修复它:
for /f "tokens=*" %%A in (%tempFile%) do (
set test=%%A
IF NOT "!test:~0,7!"=="-Dremote"( echo !test!>>%iniFile%)
)
答案 3 :(得分:0)
将7更改为8“-Dremote”有8个字符 在圆括号之前的“-Dremote”之后添加一个空格。
setlocal enabledelayedexpansion
for /f "tokens=*" %%A in (%tempFile%) do (
set test=%%A
IF NOT "!test:~0,8!"=="-Dremote" ( echo !test!>>%iniFile%)
)