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

[文本处理] 批处理怎么让txt里的文本大写转换成小写

我有一个文本文档 里面全是邮箱账号

AbcdEfgh3211@hot.com----AbcDef1231
AbcdEfgh3212@hot.com----AbcDef1232
AbcdEfgh3213@hot.com----AbcDef1233
AbcdEfgh3214@hot.com----AbcDef1234
AbcdEfgh3215@hot.com----AbcDef1235

批处理怎么写只让账号大写转换成小写  密码不动 (注:账号长度不一样 一样的就是账号密码中间用----分隔开来了)
放下助人情结,尊重他人命运

回复 1# Roxx

用第3方工具gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )实现方式如下:
  1. gawk -F"----" -v"OFS=----" "$1=tolower($1)" 1.txt>2.txt
复制代码

TOP

本帖最后由 ppll2030 于 2024-3-4 14:14 编辑

回复 1# Roxx


    账号密码保存为1.txt,编码格式为ANSI
代码保存为bat文件,编码格式为ANSI
运行结果会生成新文件1new.txt
  1. @echo off
  2. echo str = WScript.Arguments(0) >>lc.vbs
  3. echo wscript.echo LCase(str)>>lc.vbs
  4. for /f "tokens=1*delims=@" %%i in (1.txt) do (
  5. for /f %%a in ('cscript //nologo lc.vbs "%%i"') do (
  6. echo %%a@%%j>>1new.txt
  7. )
  8. )
  9. del /q lc.vbs
复制代码
1

评分人数

    • Roxx: 感谢大佬技术 + 1

TOP

  1. @echo off
  2. rem 批处理和文本全部保存为ansi编码格式
  3. set input=1.txt
  4. set output=2.txt
  5. cd /d "%~dp0"
  6. (for /f "useback delims=" %%a in ("%input%") do (
  7. set str=%%a
  8. setlocal enabledelayedexpansion
  9. for /f "tokens=1*" %%x in ("!str:----= !") do (
  10. endlocal
  11. set str2=%%x
  12. set str3=%%y
  13. setlocal enabledelayedexpansion
  14. for %%i 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 (
  15. set "str2=!str2:%%i=%%i!"
  16. )
  17. echo !str2!----!str3!
  18. endlocal
  19. )
  20. ))>"%output%"
  21. pause
复制代码
1

评分人数

    • Roxx: 感谢大佬技术 + 1
bat小白,请多指教!谢谢!

TOP

返回列表