无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2968|回复: 6
打印 上一主题 下一主题

菜鸟求指点:一段批处理代码含义和用法

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-17 17:54:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在某论坛里看到下面一段批处理代码,有几个地方看不懂它的含义和用法,请大虾们指点迷津:
:cr
set/a dep+=1
If %dep% leq %max% (
for /l %%i in (1,0,1) do call :cr %1\%%i
md %~dps0%1>mul 2>&1
)
其中的:
(1) %1\%%i是什么含义?
(2)call :cr %1\%%i有什么作用?
(3) %~dps0%1>mul 2>&1是什么含义?
2#
发表于 2012-5-19 20:38:51 | 只看该作者
cmd 下 运行

call /?
for /?

可以知道了
回复

使用道具 举报

3#
发表于 2012-5-20 14:47:53 | 只看该作者

标题

问题一  看这代码,第一次运行 %1就是1
第二次运行%1等于1/1目录  第n次依此累加
问题二:那相当于目录跳转
问题三:创建%1/1目录  并把错误信息的句柄写入正确信息的句柄   (不知是楼主手误把nul 写成了mul)
这个批处理的作用是用户生成一个多层级相同文件夹目录
回复

使用道具 举报

4#
 楼主| 发表于 2012-5-20 17:25:11 | 只看该作者
谢谢两位大侠指点!!
麻烦您再指点一下:%~dps0%是何意?起什么作用?有哪些用法?最好举个例子,因为我找遍了很多网页每见过它的用法。
回复

使用道具 举报

5#
发表于 2012-5-20 18:10:14 | 只看该作者
代码不完整;for循环为死循环。

请楼主给出完整代码先。
回复

使用道具 举报

6#
发表于 2012-5-20 22:56:23 | 只看该作者

标题

原帖由 djfppaa 于 2012-5-20 17:25 发表
谢谢两位大侠指点!!
麻烦您再指点一下:%~dps0%是何意?起什么作用?有哪些用法?最好举个例子,因为我找遍了很多网页每见过它的用法。

看了你的这个题问我真是一脑袋的黑线-_-||
%~dp0%1  是两个变量  %~dp0      %1
第一个表示运行批处理所在的完整路径
第二个%1我已经楼上解释过了
它的作用是生存%max%变量减一 再减%dep%最初赋值  级数的子文件夹名为1的目录树
回复

使用道具 举报

7#
 楼主| 发表于 2012-5-21 15:08:36 | 只看该作者
谢谢各位大虾对下列建多层目录的代码详细注释一下:

@echo off
color 9f
set/a dep=0
set/p max=你想创建多少层目录?
call :creatfolder .
cd 3\5\8\4\1\8\4\9\1
pause&goto:eof
:creatfolder
set/a dep+=1
if %dep% leq %max% (
    for /l %%i in (1,1,9) do call :creatfolder %1\%%i
) else (
    md %~dps0%1>nul 2>&1
)
set/a dep-=1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 00:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表