中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-31 21:26
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于set命令的几点疑惑(已解决) 查看 9,437 回复 44
16 发表于 2007-02-14 09:05 ·  中国 重庆 璧山区 电信
初级用户
积分 58
发帖 31
注册 2007-01-06 11:16
19年会员
UID 75621
性别 男
来自 重庆
状态 离线
5楼的讲的很明白啊,我们菜鸟一看就明白
17 发表于 2007-03-13 02:22 ·  中国 江苏 南京 电信
初级用户
积分 76
发帖 39
注册 2007-03-09 06:54
19年会员
UID 81169
性别 男
状态 离线
问的好,答的更好。加分加的好 ,学了不少了。。。。
狐狸喜欢狡猾。。
18 发表于 2007-03-13 08:21 ·  中国 湖北 武汉 电信
初级用户
积分 76
发帖 38
注册 2007-03-13 02:54
19年会员
UID 81544
性别 男
状态 离线
灌水
19 发表于 2007-03-21 07:23 ·  中国 北京 雅虎中国
中级用户
★★
菜鸟总动员
积分 259
发帖 112
注册 2006-08-28 15:53
19年会员
UID 61454
状态 离线
关于扩展名的判断很受学习 多谢前辈!
20 发表于 2007-04-02 08:27 ·  中国 江苏 无锡 电信
初级用户
积分 24
发帖 11
注册 2007-03-30 13:56
19年会员
UID 83405
性别 男
状态 离线
Originally posted by 0401 at 2007-1-20 02:13 PM:
HoHo~我比较适合回答这种基础题目

关于问题一你自己动手试试就知道了。
第一句本意就是想将变量a置空,所以等号右边当然什么都没有了。 ...


0401是个不错的老师,很有耐心,值得我们学习,就是有的学生上课不仔细听。呵呵。
21 发表于 2007-04-02 10:11 ·  中国 安徽 合肥 电信
初级用户
积分 47
发帖 16
注册 2007-04-02 09:47
19年会员
UID 83710
性别 男
状态 离线
下面这段代码怎么理解呀?好多特殊符号的用法,请叫各位了!先行谢过!
setlocal enabledelayedexpansion
for %%i in ("%tmp%\encrypt.tmp") do (
echo %%~zi >nul 2>nul
set size=%%~zi
set num=!size:~-1!
set /a mod=!num!%%2
if !mod! equ 0 (goto even) else (goto odd)
)
22 发表于 2007-04-09 05:41 ·  中国 湖北 荆州 电信
新手上路
积分 6
发帖 3
注册 2007-04-06 22:27
19年会员
UID 84200
性别 男
状态 离线
我也学到东西了,谢谢讲解
23 发表于 2007-04-17 07:31 ·  中国 上海 电信
初级用户
积分 24
发帖 12
注册 2007-04-13 21:05
19年会员
UID 85038
性别 男
状态 离线
学了不少的东西~~~~
24 发表于 2007-04-18 07:48 ·  中国 广东 广州 鹏博士宽带
初级用户
★★
积分 176
发帖 78
注册 2007-04-15 10:53
19年会员
UID 85268
性别 男
状态 离线
Originally posted by myth126 at 2007-4-1 09:11 PM:
下面这段代码怎么理解呀?好多特殊符号的用法,请叫各位了!先行谢过!
setlocal enabledelayedexpansion
for %%i in ("%tmp%\encrypt.tmp") do (
echo %%~zi >nul 2&g ...

希望高手回答下,我也有些不懂,大概第三行echo %%~zi >nul 2>nul不晓得啥意思。
25 发表于 2007-04-18 09:37 ·  中国 辽宁 大连 联通
初级用户
积分 70
发帖 38
注册 2007-03-24 09:25
19年会员
UID 82762
性别 男
状态 离线
Originally posted by Vampire at 2007-4-17 06:48 PM:

希望高手回答下,我也有些不懂,大概第三行echo %%~zi >nul 2>nul不晓得啥意思。


大概意思就是不显示%i的文件大小,出现错误也不显示。
26 发表于 2007-04-20 00:14 ·  中国 内蒙古 呼和浩特 联通
新手上路
积分 13
发帖 7
注册 2007-03-11 05:02
19年会员
UID 81371
性别 男
状态 离线
学习了,我又学到一些东西
27 发表于 2007-04-20 00:55 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 866
发帖 415
注册 2005-12-04 11:19
20年会员
UID 46459
状态 离线
将变量%%i扩展到文件的大小。for /?中有说明:

带有修改程序的变量 说明
%~I 展开删除任何前后引号 ("") 的 %I。
%~fI 将 %I 展开到完全合格的路径名。
%~dI 只将 %I 展开到驱动器号。
%~pI 只将 %I 展开到路径。
%~nI 只将 %I 展开到文件名。
%~xI 只将 %I 展开到文件扩展名。
%~sI 展开路径以只包含短名称。
%~aI 将 %I 展开到文件的文件属性。
%~tI 将 %I 展开到文件的日期和时间。
%~zI 将 %I 展开到文件大小。
%~$PATH:I 搜索 PATH 环境变量所列出的目录,并将 %I 展开到第一个找到的完全合格的名称。如果没有定义环境变量名称,或搜索没有找到文件,则此修改程序扩展成空字符串。

下表列出可用来获得综合结果的修改程序组合。

变量(使用组合的修改程序) 说明
%~dpI 只将 %I 展开到驱动器号和路径。
%~nxI 只将 %I 展开到文件名和扩展名。
%~fsI 将 %I 展开到只包含短名称的完整路径名。
%~dp$PATH:I 在 PATH 环境变量中所列出的目录中搜索 %I,并展开到第一个找到结果的驱动器号和路径。
%~ftzaI 将 %I 展开到输出行(如 dir一样)。
欢迎你到批处理爱好者联盟QQ群:18023953
28 发表于 2007-05-02 16:01 ·  中国 云南 昆明 电信
初级用户
积分 57
发帖 29
注册 2006-12-27 09:36
19年会员
UID 74694
性别 男
状态 离线
比较适合我们这些新手.不过说实话有的地方我都还看不懂到底是什么意思.唉!只有自己慢慢来了.
再次我也特别感谢一楼的GG,你真的是一比较热心的网友.精神值得我们去学习.
29 发表于 2007-07-10 22:19 ·  中国 上海 浦东新区 电信
新手上路
积分 18
发帖 8
注册 2007-06-24 22:34
19年会员
UID 92265
性别 男
状态 离线
5分钟以前刚刚有些理解set的用途
30 发表于 2007-07-11 17:42 ·  中国 湖北 潜江 电信
高级用户
★★★
积分 894
发帖 411
注册 2007-02-17 12:15
19年会员
UID 79697
性别 男
状态 离线
只有把 set 命令弄懂了, 才能写出好的东西.
@set c= 不知则觉多,知则觉少,越知越多,便觉越来越少. --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul


论坛跳转: