中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]处理一个文本文件:删除每行开头的和结尾的空格
作者:
标题: [求助]处理一个文本文件:删除每行开头的和结尾的空格 上一主题 | 下一主题
linge
新手上路





积分 11
发帖 10
注册 2008-11-28
状态 离线
『楼 主』:  [求助]处理一个文本文件:删除每行开头的和结尾的空格

问题:这里有一个文本文件 a.txt
里面内容我想对每一行的字符,开头的和结尾(就是换行之前)空格全部去掉该怎么写一个批处理文件处理一下。
但是遇到的问题是,比如文本中有一行字符串就是处理不好,老丢失字符。

空格   if /i %SELECT%==Y set SELE%%%CT=E%%NABLE&GOTO :DO  空格

请问一下,怎么写这个批处理文件。下面是我写的code,在cmd里调用,但是老是处理不了带有特殊字符的字符串。
请帮帮忙改一下。
@echo off
setlocal enabledelayedexpansion
set "xyz0="
cls

set f_n=%~f1
if exist !f_n!\nul echo 错了!!! %~1是个目录,不是文件 goto :eof
fsutil file createnew "!f_n!.bak" 0
for /f "usebackq tokens=* delims=" %%I in ("!f_n!") do (
        call :qukongbai "%%I"
        if not "!xyz0!"=="" echo !xyz0!>>!f_n!.bak
)




goto :eof


::处理字符串,把字符串开头和结尾的空格键去掉
::如果字符串都是空格键,返回空字符串
:qukongbai
if "%~1"=="" echo 缺少要处理的字符串参变量或参变量是空字符串&goto :eof
set "xyz0="
set /a xyz1=0
set /a xyz2=0
set "str=%~1"
:a0
if "!str:~-1!"==" " set "str=!str:~0,-1!"&set /a xyz1=!xyz1!+1 &goto a0
if "!str:~-1!"=="        " set "str=!str:~0,-1!"&set /a xyz2=!xyz1!+1 &goto a0
if "!str!"=="" echo 字符串变量是!xyz1!个空格字符!xyz2!个tab键字符串&&goto :eof
:b0
if "!str:~0,1!"==" " set "str=!str:~1!"&goto b0
if "!str:~0,1!"=="        " set "str=!str:~1!"&goto b0
set "xyz0=!str!"
goto :eof

————————————————————————————————
转移自 DOS疑难解答 & 问题讨论 (解答室)
明显发错版块,因属论坛新手,故暂不予以处罚,望今后引起注意。
——管理员
————————————————————————————————



───────────────── 版务记录 ─────────────────
执行:HAT
操作:[20098-01-05]在帖子标题中增加搜索关键字;代码加code标签
说明:原标题"求助 如何来处理一个文本文件"不利于论坛搜索
处罚:扣除2点积分
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}[愤怒]那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2009-1-5 at 14:01 ]

   此帖被 -2 点积分    点击查看详情   
评分人:【 HAT 分数: -2  时间:2009-1-5 14:01


2009-1-5 02:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: