[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何删除每行前空格?

如何删除每行前空格,文本内容中有的行前有空格,空格数量不定,如何能删除前面的空格。

文本:
陆生三法”是指两岸人民关系条例、大学法、专科学校法,
                                                      台湾要开放大陆学生赴台求学,
   就需要对上述三项法案进行修改。台湾立法机构通过“陆生三法”
                                                                                             修正案,台湾将正式
承认大陆学历,并开放大陆学生来台湾大专院校就学。


目标文本:
陆生三法”是指两岸人民关系条例、大学法、专科学校法,
台湾要开放大陆学生赴台求学,
就需要对上述三项法案进行修改。台湾立法机构通过“陆生三法”
修正案,台湾将正式
承认大陆学历,并开放大陆学生来台湾大专院校就学。


请高手给与解答,谢谢
谢谢4楼指导正解 谢谢5楼正解

[ 本帖最后由 xiaoyaoshui 于 2010-9-1 14:22 编辑 ]

原内容1.TXT.重写入2.TXT
  1. for /f %%i in (1.txt) do echo %%i>>2.txt
复制代码

TOP

基本功能实现,还有需要改进

for /f %%i in (1.txt) do echo %%i>>2.txt
谢谢,已经能删除文本前面的空格,
但若文本行中有空格,就自动换行了,能不能不换行。

TOP

比较以下两段代码的执行结果差异:
1、
@echo off
for /f "delims=" %%i in (test.txt) do echo /%%i/
pause
2、
@echo off
for /f "tokens=*" %%i in (test.txt) do echo /%%i/
pause
test.txt 的内容为:    abc 。行首有若干空格。
看到有什么差别了吗?
原因:"delims=" 的含义是取消默认的分隔符,所以会把行上的内容照搬下来,而 "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。

                                                                —— namejm
努力学习,努力挣分

TOP

  1. @echo OFF
  2. for /f "tokens=*" %%i in (test.txt) do (
  3. set "a=%%i"
  4. echo !a:* =!)
  5. pause
复制代码

TOP

返回列表