批处理 txt文件中小写字母转大写字母

test.txt中有许多小写字母,怎样用批处理来实现把小写字母转换成大写字母?

给你一个小写字母变大写的东东吧:把 str 里面的小写字母变大写
你修改一下就可以处理文本文件。

@echo off
set str=falfFDFvlSDFSDFckGmsSDFzlJf;ehmKsd
echo %str%
call :upcase "%str%" a
echo %a%
pause
goto :EOF
:upcase
setlocal enabledelayedexpansion&set $=&set "#=@%~1"
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 #=!#:%%a=%%a!
endlocal&set "%~2=%#:~1%"&exit/b追问

不会啊。。。
能否传授一下!
原文件内容是:
a
bB
cd
...
这样的。
其实,想要的效果是输出:
exist A
exist BB
exist CD
...
之类的内容。并且exist是小写的。后面的内容是大写的并且含有底划线和数字。
所以,我的思路是先把原文件变大写。然后在每行开头加入exist 这样做的。

追答

@echo off&setlocal EnableDelayedExpansion
for /f "tokens=*" %%i in (test.txt) do (set str=%%i
call :upcase "!str!" a
echo exist !a!>>test-u.txt)
start "" test-u.txt
goto :EOF
:upcase
setlocal enabledelayedexpansion&set $=&set "#=@%~1"
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 #=!#:%%a=%%a!
endlocal&set "%~2=%#:~1%"&exit/b

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-23
不清楚你的实际文件/情况,仅以问题中的说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行<# :
cls
@echo off
rem 将一个txt文本文件里面内容中的小写字母转换成大写字母
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$txtfile='.\test.txt';
$enc=[Text.Encoding]::Default;
$text=[IO.File]::ReadAllText($txtfile, $enc);
$text=$text.toUpper();
[IO.File]::WriteAllText($txtfile, $text, $enc);

第2个回答  2012-10-09
如果想在txt文本里面改的话,就用Ctrl+h使用替换方法
相似回答