标题: [文本处理] 批处理输出一行内容到指定文本,为什么会在行尾添加/生成一个空格 [打印本页]
作者: luochanv 时间: 2017-5-29 19:40 标题: 批处理输出一行内容到指定文本,为什么会在行尾添加/生成一个空格
本帖最后由 pcl_test 于 2017-5-29 20:55 编辑
如何消除读取文本一行后生成的空格
我利用批处理逐行读取文本, 并根据查询条件,替换相应行内容。
其功能已实现,但是在替换相应行时,程序自动生成一个空行
请高手帮我看看,我那个文本需严格遵循格式的- set nateib=prepatranjob.fin
- set NativeFile=prepatranjob1.fin
- for /f "delims=" %%a in ('findstr /n .* %nateib%') do (
- set "xxx=%%a"
- setlocal enabledelayedexpansion
- if "!xxx:~-1!"==" " set xxx=!xxx:~0,-1!
- set xxx=!xxx:*:=!
- echo !xxx! |(findstr ".db" ) && echo P3DATABASE = ff>>%NativeFile% || echo !xxx!>>%NativeFile%
- endlocal
- )
复制代码
prepatranjob文本内容为- P3DATABASE = D:\Fatigue\PatranS.db
复制代码
替换后,以下行末尾竟然有空格,
P3DATABASE =ff
请问如何消除那个空格
作者: /zhqsystem/zhq 时间: 2017-5-29 21:16
if "!xxx:~-1!"==" " set xxx=!xxx:~0,-1!
替换
for /l %%n in (0,1,8189)do if /i "!xxx:~-1!"==" " if /i not "!xxx!"==" " set "xxx=!xxx:~0,-1!"
作者: ShowCode 时间: 2017-5-30 10:06
- @echo off
- set nateib=prepatranjob.fin
- set NativeFile=prepatranjob1.fin
- for /f "delims=" %%a in ('findstr /n .* %nateib%') do (
- set "xxx=%%a"
- setlocal enabledelayedexpansion
- if "!xxx:~-1!"==" " set xxx=!xxx:~0,-1!
- set xxx=!xxx:*:=!
- echo !xxx! | findstr "\.db"
- if errorlevel 1 (
- >>%NativeFile% echo !xxx!
- ) else (
- >>%NativeFile% echo P3DATABASE = ff
- )
- endlocal
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |