中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]在一个文本里面把小写字母替换成大写字母
作者:
标题: [求助]在一个文本里面把小写字母替换成大写字母 上一主题 | 下一主题
benetqxk
新手上路





积分 16
发帖 10
注册 2009-5-9
状态 离线
『楼 主』:  [求助]在一个文本里面把小写字母替换成大写字母

用批处理怎么把一个文本里面把小写字母转换成大写字母?例如:a.txt里面的abcghe转换成ABCGHE这样的,我的vb正在自习中,不知道怎么做?

2009-7-3 22:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 2 楼』:  

用正则表达式啊




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-7-3 23:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
benetqxk
新手上路





积分 16
发帖 10
注册 2009-5-9
状态 离线
『第 3 楼』:  

我现在要实现a.txt里面的abcdefg直接转换成ABCDEFG,转换后还是在a.txt里面。把原来的abcdefg覆盖直接变成ABCDEFG。用VB怎么写?想学习下?希望那个高手指点下。

2009-7-4 01:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 4 楼』:  


@echo off
set file="a.txt"

(for /f "delims=" %%a in ('findstr /n .* %file%') do (
  set var=%%a
  setlocal enabledelayedexpansion
  if "!var:*:=!" neq "" (
    for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
      set var=!var:%%a=%%a!
    )
    echo;!var:*:=!
  ) else echo;
  endlocal
))>"%temp%\UPPERCASE"

move "%temp%\UPPERCASE" %file%


2009-7-4 01:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
benetqxk
新手上路





积分 16
发帖 10
注册 2009-5-9
状态 离线
『第 5 楼』:  

谢谢!这个问题解决了?但是不了解这句是什么意思?move "%temp%\UPPERCASE" %file% 这个是什么意思?

2009-7-4 02:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by benetqxk at 2009-7-4 02:33 AM:
谢谢!这个问题解决了?但是不了解这句是什么意思?move "%temp%\UPPERCASE" %file% 这个是什么意思?

移动 "%temp%\UPPERCASE" 这个文件到当前目录,改名为 a.txt,覆盖原有的 a.txt。

2009-7-4 03:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
benetqxk
新手上路





积分 16
发帖 10
注册 2009-5-9
状态 离线
『第 7 楼』:  

谢谢!太感谢了!

2009-7-4 03:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bluewaterx
初级用户





积分 132
发帖 68
注册 2008-7-29
状态 离线
『第 8 楼』:  

文件内容多的话 用vbs更效率.dos+vbs


@echo off
setlocal enabledelayedexpansion
if not exist a.txt echo fsdkljsfadljksdklfsd>a.txt&echo fsdkljsf要dljksdklfsd>>a.txt
for /f "delims=" %%i in ('type a.txt') do call :subVbsUCase "%%i"
move /y b.txt a.txt &type a.txt&pause>nul&exit
:subVbsUCase
        echo On Error Resume Next>tmp.vbs
        echo dim str>>tmp.vbs
        echo str=UCase("%~1")>>tmp.vbs
        echo wscript.echo str>>tmp.vbs
        cscript //nologo tmp.vbs>>b.txt&del tmp.vbs
        goto :eof

2009-7-4 03:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tab
新手上路





积分 16
发帖 13
注册 2009-4-30
状态 离线
『第 9 楼』:  

用sed
sed "s/\(.*\)/\U\1/" a.txt

2009-7-4 05:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
asnahu
初级用户





积分 99
发帖 53
注册 2006-8-18
状态 离线
『第 10 楼』:  

4楼的代码不能用塞~~-_-! 9楼的不错!

2009-7-4 23:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: