编程,bat 批量处理问题。编写一个bat将一个txt文件里的所有空格删除,并输出。

编程,bat 批量处理问题。编写一个bat将一个txt文件里的所有空格删除,并输出。编写一个bat将一个txt文件里的所有空格删除,并输出。例如D:\1.txt输出后多了个2.txt,1.txt里有空格,2.txt里无空格。

@echo off
color f2
echo 我可以将【文件夹】目录及子目录[去除文件名空格]整理到-目录表格.xls
pause 
:--------------------------------------
setlocal enabledelayedexpansion
:--------------------------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo 替换前:!fn!
set fn=!fn: =!
echo 替换后:!fn!
:将fn字符串中的每一个空格(" ")替换成空字符("")。
ren "%%j" !fn!
)
:--------------------------------------
set pp=%~dp0
echo %pp%
:--------------------------------------
for /d /r . %%i in (*) do (

:更新路径,将有空格的路径改为除去空格后的路径,才能进入
for /f "tokens=*" %%l in (!i!) do (
set pt=%%l
set pt=!pt: =!
set i=!pt!
)
echo 路径 %%i
cd %%i
:-------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo !fn!
set fn=!fn: =!
echo !fn!
:将fn字符串中的每一个“ ”替换成“”空字符。
ren "%%j" !fn!
)
)
:--------------------------------------
cd %pp%
echo %pp%
for /d /r . %%k in (*) do echo %%k>>目录表格.xls
echo 已经将文件夹目录(不包括文件)生成到【目录表格.xls】
echo 如果希望更多bat功能可以发邮件给:[email protected]
pause

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-28
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (1.txt) do (
set "Str=%%~a"
(echo !Str:= !)>>2.txt
)追问

有问题

这个是原文本

每行中文后面都有很多空格

追答

@echo off
setlocal enabledelayedexpansion
(for /f "delims=" %%a in (1.txt) do (
set "Str=%%~a"
echo !Str: =!
))>>2.txt

按道理代码应该没问题的啊!

本回答被提问者和网友采纳
第2个回答  2016-08-28
查找替换不就行了
相似回答