这个方法应该能兼容特殊字符了,而且效率还可以。
以前写的逐字替换法:- @echo off
- for /f "delims=" %%a in ('findstr /n .* "%~f0"') do (
- set str=%%a
- setlocal enableDelayedExpansion
- set "str=!str:*:=!"
- call :Trim
- echo=!str!
- endlocal
- )
- echo.&pause&exit/b
-
- :LTrim 去掉左边空格
- if "!str:~,1!"==" " (set "str=!str:~1!"&goto LTrim)
- goto :eof
-
- :RTrim 去掉右边空格
- if "!str:~-1!"==" " (set "str=!str:~,-1!"&goto RTrim)
- goto :eof
-
- :Trim 去掉两边空格
- if "!str:~,1!"==" " (set "str=!str:~1!"&goto Trim)
- if "!str:~-1!"==" " (set "str=!str:~,-1!"&goto Trim)
- goto :eof
复制代码 http://www.bathome.net/viewthread.php?tid=3830&page=1#pid24384
去除行尾的空格,还没找到既兼容特殊字符又能保证效率的方法。
希望大家一起来完成。 |