[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 9# 依山居
这个怎么用,不是标准批处理语法一句没看懂,无语了
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

本帖最后由 依山居 于 2015-10-21 22:43 编辑

python 练手
  1. f=open("a.txt","r")
  2. txt=f.read()
  3. uppertxt=txt.upper()
复制代码

TOP

  1. @echo off >nul 3>"%~dp1U_%~nx1"
  2. setlocal enabledelayedexpansion
  3. set list=aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ
  4. for /f "delims=" %%i in (%~s1) do (
  5.     set "strU=%%i"
  6.     set "strD=%%i"
  7.     for %%i in (%list%) do (
  8.         set let=%%i
  9.         for /f "tokens=1,2" %%i in ("!let:~,1! !let:~-1!") do (
  10.             set "strU=!strU:%%j=%%j!"
  11.             set "strD=!strD:%%i=%%i!"
  12.         )
  13.     )
  14.     echo;!strU!
  15.     >>"%~dp1D_%~nx1" echo !strD!
  16. )
复制代码
忘记在哪里看到过一段大小写转换的代码,非常巧妙
实现起来大概就是这个样子,利用的是批处理在替换时不区分大小写的特性

TOP

回复 6# pcl_test
多谢指导,正在研究此段代码,学习中...

TOP

本帖最后由 pcl_test 于 2015-10-17 20:45 编辑

回复 5# /zhqsystem/zhq

稍微修改下,转换方法没变,可处理字符串或是文件,加入了参数模式,提供了三种执行方式,然并卵……
  1. @echo off
  2. call :字母大小写互转 "%~1" %~2 %~3
  3. pause&exit
  4. :字母大小写互转
  5. setlocal enabledelayedexpansion
  6. if "%~1" equ "" (
  7.     echo;用法:
  8.     echo;   1、call :字母大小写互转 "字符串或文件路径" [/U^|/L] [/F]
  9.     echo;   2、支持外部调用    字母大小写互转.bat "字符串或文件路径" [/U^|/L] [/F]
  10.     echo;   3、支持拖放文件到批处理图标上执行转换
  11.     echo;   /U    转为大写
  12.     echo;   /L    转为小写
  13.     echo;   /F    处理文件
  14.     goto :eof
  15. ) else (
  16.     if "%~2" equ "" (
  17.         set /p c=请选择转化模式(U=转为大写,L=转为小写):
  18.         if exist "%~1" (
  19.             call :字母大小写互转 "%~1" /!c! /F
  20.         ) else call :字母大小写互转 "%~1" /!c!
  21.         goto :eof
  22.     ) else (
  23.         set "#2=%~2"
  24.         set "#2=!#2:-=/!"
  25.         if "%~3" equ "" (
  26.             if /i "!#2!" equ "/U" (goto :U) else if /i "!#2!" equ "/L" (goto :L)
  27.         ) else (
  28.             set "#3=%~3"
  29.             set "#3=!#3:-=/!"
  30.             if /i "!#3!" equ "/F" (
  31.                 if /i "!#2!" equ "/U" (goto :U) else if /i "!#2!" equ "/L" (goto :L)
  32.             ) else (
  33.                 if /i "!#3!" equ "/U" (
  34.                     if /i "!#2!" equ "/F" (goto :U)
  35.                 ) else if /i "!#3!" equ "/L" (
  36.                     if /i "!#2!" equ "/F" (goto :L)
  37.                 )
  38.             )
  39.         )
  40.         echo;参数有误!&goto :eof
  41.     )
  42. )
  43. :U
  44. set "var=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"
  45. goto :Convert
  46. :L
  47. set "var=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"
  48. :Convert
  49. set "str=%~1"
  50. if "%~3" equ "" (
  51.     for %%a in (%var%) do set "str=!str:%%a=%%a!"
  52.     echo;!str!
  53. ) else (
  54.     (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%~1"') do (
  55.         set "str=%%b"
  56.         if not defined str (echo;) else (
  57.             for %%a in (%var%) do set "str=!str:%%a=%%a!"
  58.             echo;!str!
  59.         )
  60.     ))>"%~dp1new_%~nx1"
  61. )
  62. goto :eof
复制代码
1

评分人数

TOP

回复 4# pcl_test
主要还是希望各位大神挑错误,进行完善毕竟在这里不只是要分享,也需要学习,可以进行共赢(共同学习),因为里边错误也有很多,只是不知道怎么完善了
像%1中的路径遇到空格目录居然就提示出错,还有文本中变量冲突时会替换代码中的执行变量,这些都是我解决不了的错误,希望大家帮忙完善,如果觉得没错误也可以留着备用
代码的优点就是利用26个英文字母进行循环替换,替换途中会每行替换26次(如果少于26个英文字母随自己的意愿改个数字和字母变量就完成了),取值最后一次的值完整取出来

TOP

本帖最后由 pcl_test 于 2015-10-16 13:39 编辑

回复 3# /zhqsystem/zhq

转换方法不是原创,但你加入了自己意愿的一些交互进而加工,所以也可视为半原创;
但是我要问,你是要分享代码,还是希望别人帮你完善代码呢?从你的标题和描述,我现在是意会不出来了

TOP

回复 2# pcl_test
原创代码区不适合因为提取路径时带空格时有错误,毕竟没有实际全部测试,权限也不够。涉及到版权,不可能每个论坛都去找有没有发过
转载区更不适合,因为研究了一晚上,而实际链接地址和作者我去找谁,只能发到求助讨论板块

TOP

发错版块了,应发“原创BAT代码”或“转载BAT代码”版块

TOP

返回列表