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

回复 15# wangx
  1. @echo off&setlocal enabledelayedexpansion
  2. set "_strlen=set ##=&(for %%a in (2048 1024 512 256 128 64 32 16)do if ^!$:~%%a^!. NEQ . set/a##+=%%a&set $=^!$:~%%a^!)&set $=^!$^!fedcba9876543210&set/a##+=0x^!$:~16,1^!"
  3. for /f "delims=" %%a in (1.txt) do (
  4.         set "str=%%a"
  5.         if "!str:/=!" NEQ "!str!" (
  6.                 call :Lp "%%a"
  7.         ) else (
  8.                 for /f "tokens=1* delims=\" %%a in ("!str!") do (
  9.                         echo \%%b        %%a
  10.                 )
  11.         )
  12. )
  13. pause & exit/b
  14. :Lp
  15. for /f "tokens=1* delims=/" %%a in ("%~1") do (
  16.         if "%%b" NEQ "" (
  17.                 call :Lp "%%b"
  18.         ) else (
  19.                 set "$=%%a#"
  20.                 (%_strlen%)
  21.                 for %%a in (!##!) do echo !str!   !str:~0,-%%a!
  22.         )
  23. )
复制代码

TOP

回复 16# apang

非常感谢apang的解答,问题解决了。但是请问一下,set "$=%%a#"是什么意思呢?
之前你贴上去的代码中
if "!str:/=!" NEQ "!str!" (
                set "$=%%~nxa#"
                %_strlen%
                for %%b in (!##!) do echo,%%~nxa        !str:~,-%%b!

这是什么意思啊,菜鸟一个,希望劳烦解答,谢谢!

TOP

set "$=%%a#" 给变量$赋值,没有别的意思。

之前的代码没有用call,但你非要用call,所以不解释

TOP

返回列表