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

[文本处理] [已解决]批处理怎样转换文本字符中的感叹号?

本帖最后由 yue 于 2011-5-23 22:57 编辑

----------------------------- 1.txt 中的代码如下: ---------------------------------------
123!456!789!abc!def
666!jjj55!ff!!!hh
------------------------------ 转换.bat 代码如下: ---------------------------------------
  1. for /f "tokens=*" %%i in ( .\1.txt) do (
  2.     set inpt=%%i
  3. set "var=!inpt:!=#!"
  4. >>".\2.txt" echo !var!
  5. )
复制代码
--------------------------------------------------------------------------------------------
目的: 想要在不改动 1.txt 中的内容下,而要把 1.txt 中的 "感叹号" 全部转换为 "#" 字符!!
转换出来的 2.txt 内容效果应该是:
123#456#789#abc#def
666#jjj55#ff###hh

问题: 经过 for 语句后感叹号消失了!

******   不知道哪位高手可以解决这个问题?  *******
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

试了以上两个方案; 还是没能替换掉啊!!

TOP

for /f "tokens=*" %%i in ( .\1.txt) do (
    endlocal
    set inpt=%%i
    call :dd
    setlocal enabledelayedexpansion
    >>".\2.txt" echo !var!
)
:dd
set var=%inpt:!=#%

哇!!我把 zm900612 的稍微改了下,这样就ok了, 哈哈; 解决问题了

TOP

返回列表