[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 taofan712 于 2017-4-11 21:07 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set str=bBAathToHOMmEe
  3. set str_bp=%str%
  4. 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 call set str_bp=%%str_bp:%%a=%%a%%
  5. for /l %%a in (0 1 14) do (
  6. for /f "tokens=1,2 delims=#" %%b in ('call echo;%%str:~%%a^,1%%#%%str_bp:~%%a^,1%%') do (
  7. if not "%%b"=="%%c" (set lc=!lc!%%b) else ( set uc=!uc!%%c)
  8. ))
  9. echo;!lc!!uc!
  10. pause
复制代码
请各位帮忙看下我的代码为什么这么慢,我原以为是用了call set和call echo,改成下面的,还是一样的慢。将近2秒。
  1. @echo off&setlocal enabledelayedexpansion
  2. set str=bBAathToHOMmEe
  3. set str_bp=%str%
  4. 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 str_bp=!str_bp:%%a=%%a!
  5. for /l %%a in (0 1 14) do (
  6. for /f "tokens=1,2 delims=#" %%b in ('echo;!str:~%%a^,1!#!str_bp:~%%a^,1!') do (
  7. if not "%%b"=="%%c" (set lc=!lc!%%b) else ( set uc=!uc!%%c)
  8. ))
  9. echo;!lc!!uc!
  10. pause
复制代码
@terse 感谢指点,去掉了中间一个for。
  1. @echo off&setlocal enabledelayedexpansion
  2. set str=bBAathToHOMmEe
  3. set str_bp=%str%
  4. 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 str_bp=!str_bp:%%a=%%a!
  5. for /l %%a in (0 1 14) do (
  6.     if not "!str:~%%a,1!"=="!str_bp:~%%a,1!" (set lc=!lc!!str:~%%a,1!) else ( set uc=!uc!!str_bp:~%%a,1!)
  7. )
  8. echo;!lc!!uc!
  9. pause
复制代码

TOP

回复 13# codegay


    前辈,请帮忙指点下我写的代码(13楼),为什么会耗费将近2秒。该怎么改才对呢

TOP

回复 16# codegay


    谢谢,因为经常见到你的id...现在才注意到你主要在python区发帖 ^_^

TOP

返回列表