[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. set "fpath=%~f0"
  3. set n=-1
  4. for %%a in ("%fpath:\=" "%") do set /a n+=1
  5. echo "%~f0" 在第 %n% 层下。
  6. pause
复制代码
  1. @echo off
  2. set "var=%~f0"
  3. :loop
  4. set /a n+=1
  5. set "var=%var:*\=#%"
  6. if "%var:\=%" neq "%var%" goto loop
  7. echo "%~f0" 在第 %n% 层下。
  8. pause
复制代码
  1. @echo off
  2. set "fpath=%~f0"
  3. for %%a in ("%fpath%") do pushd "%%~dpa"
  4. :loop
  5. set /a n+=1
  6. if "%cd:~3%" neq "" cd.. & goto loop
  7. echo "%~f0" 在第 %n% 层下。
  8. pause & popd
复制代码
1

评分人数

    • wxcute: tireless 兄也来赚分阿。%~f0完善解决了空格 ...PB + 10

TOP

回复 3楼 的帖子

用空格来分隔 for 里面的字符会出错,因为还有 , ; = 会分割字符。

-----------

wxcute PB +1 3楼是可以的,因为RAT用变量替换先去掉了空 ... 2009-7-9 18:59


我说的是这种情况:
for %%a in (d:\1,2,3) do echo %%a

[ 本帖最后由 tireless 于 2009-7-9 19:45 编辑 ]
1

评分人数

    • wxcute: 3楼是可以的,因为RAT用变量替换先去掉了空 ...PB + 1

TOP

返回列表