Board logo

标题: [讨论] "set" 你知多少?--------应用实例 [打印本页]

作者: dosz     时间: 2006-2-18 06:49    标题: [讨论] "set" 你知多少?--------应用实例
SET:设计DOS环境变量。 用法:SET 变量=[变量值] [讨论] "set" 你知多少?--------应用实例 要求: 1.添加注解, 用REM:或 :: 2.说明通过的测试环境

作者: dosz     时间: 2006-2-18 07:22    标题: 打开目录.bat
====== 打开目录.bat ======= set drv=C:\WINDOWS\system32 REM 要设置名为 drv的变量,使它等于字符串C:\WINDOWS\system32(C盘中的WINDOWS\system32目录). start %drv% REM 打开目录(打开C盘中的WINDOWS\system32目录). REM C盘XP测试通过

作者: sxhc6868     时间: 2006-2-18 19:09
谢了,顶一下,看了这贴子,能开阔思路,一知半解的不明白SET命令的应用,这回明白一点.这样的好贴子越多越好.

作者: dosz     时间: 2006-2-25 12:27
你知道这有什么区别吗? =============TESTGHO.BAT========= set LgDrv=1 start 2 A: 7 C: 10 D: 13 E: 16 F: 19 G: 22 H: 25 I: 28 J: set LgDrv=%LgDrv% 31 K: 34 L: 37 M: 40 N: 43 O: 46 P: 49 Q: 52 R: 55 S: 58 set LgDrv=%LgDrv% T: 61 U: 64 V: 67 W: 70 X: 73 Y: 76 Z: 78 =============TEST.BAT============= set LgDrv=start A: Z: Y: X: W: V: U: T: S: R: Q: P: O: set LgDrv=%LgDrv% N: M: L: K: J: I: H: G: F: E: D: C: over [ Last edited by dosz on 2006-2-25 at 12:29 ]

作者: lks205     时间: 2006-3-14 18:36    标题: 顶!!!!!!!!!!!!!!
这么好的帖子,怎么就不见下文了呢?

作者: hxuan999     时间: 2006-11-23 06:10
Originally posted by dosz at 2006-2-25 00:27: 你知道这有什么区别吗? =============TESTGHO.BAT========= set LgDrv=1 start 2 A: 7 C: 10 D: 13 E: 16 F: 19 G: 22 H: 25 I: 28 J: set LgDrv=%LgDrv% 31 K: 34 L: 37 M: 40 N: 43 O: 46 P: 49 Q ...
为什么不说了.真是的.

作者: ynjzlzd     时间: 2006-12-5 21:51
是啊,找了许多方,都没看到有关的解释,这儿提了们头,也没了结果.

作者: redtek     时间: 2006-12-5 22:07
感谢楼主开创了这么有价值的贴子,学习了~~~

作者: bc12060101     时间: 2006-12-5 22:17
嘿嘿,怎么楼主说了个开头被打断后就不说了?您倒是接着说啊,这么多弟兄可都在等着呐。

作者: af01     时间: 2006-12-12 05:05
没例子。。还是搞不大清楚

作者: vlanmaster     时间: 2006-12-20 05:22
为什么这么好的贴子没有下文了呢?

作者: sleet1986     时间: 2007-1-13 11:21
还是不太清楚哦!!

作者: bob1989     时间: 2007-1-25 00:20
说啊

作者: oilio     时间: 2007-1-25 05:19
不错啊,我也想知道下文。

作者: sphudun     时间: 2007-2-8 05:02
生于WIN时代DOS七窍已通六窍

作者: zjnbwdj     时间: 2007-2-9 10:57
我想可能是等同于如下这些吧 set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15 set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C 以上是在WIN98启动盘的AUTOEXEC.BAT中所得,其中还有一个SETRAMD.BAT,我想这些数字主要是为了SETRAMD.BAT中的findramd的值所服务的吧.是为了得到虚拟盘和CD-ROM的盘符作准备.

作者: csx163     时间: 2007-2-10 13:58
估计是双盘符 分区的问题

作者: lizaoyou     时间: 2007-2-10 14:20
原本很好的主题,变猜谜了。

作者: dosz     时间: 2007-2-20 12:36
Originally posted by af01 at 2006-12-12 05:05: 没例子。。还是搞不大清楚
=== dir列出当前目录和文件并追加到 dosz.txt ;dosz766.txt.bat === :: www.cn-dos.net/forum/viewthrea ... :: 『第 14 楼』: af01 2006-12-12 05:05 @ECHO off cls color 0B echo [没例子。。还是搞不大清楚] ECHO. echo 你好! echo 这是你要的比量批处理实例: ECHO. echo 列出当前目录和文件并追加到 dosz.txt; dosz.txt766.bat pause > nul ECHO. >> dosz.txt ECHO ========================================================== >> dosz.txt ECHO %DATE% %TIME% >> dosz.txt dir /a /o /b>> dosz.txt ECHO ========================结束============================== >> dosz.txt : exit :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ECHO. >> dosz766.txt ECHO ============================================================== >> dosz766.txt ECHO %DATE% %TIME% >> dosz766.txt dir /a /o >> dosz766.txt ECHO ========================结束================================== >> dosz766.txt exit 在Win2000/XP/2003系统的CMD下,环境变量 %DATE% 和 %TIME% 就已经保存了当前的日期和时间,所以 ECHO %DATE% >>IP.TXT 和 ECHO %TIME%>>IP.TXT就可以了
附件 1: dir列出当前目录.rar (2007-2-20 12:36, 685 bytes, 下载附件所需积分 1点 ,下载次数: 47)

作者: dosz     时间: 2007-2-20 12:42
Originally posted by vlanmaster at 2006-12-20 05:22: 为什么这么好的贴子没有下文了呢?
=== 清除系统垃圾文件.bat === :: www.cn-dos.net/forum/viewthrea ... @echo off cls color b ECHO. echo 你好! echo. echo 按任意键... 打开目录查看临时文件 ... 清除系统垃圾 pause >nul echo 正在清除系统垃圾文件,请稍等...... :: XP= X:\WINDOWS\Temp :: 2K= X:\WINNT\Temp START %windir%\Temp del %windir%\Temp\*.* /Q :: ============================================================== cls color e ECHO. echo 你好! echo 按任意键... 继续打开另一目录查看临时文件 ... 清除系统垃圾 pause >nul echo 正在清除系统垃圾文件,请稍等...... cls :: = X:\TEMP目录 if exist %systemdrive%\TEMP start %systemdrive%\TEMP if exist %systemdrive%\TEMP del %windir%\..\..\Temp\*.* /Q :: ============================================================== cls color b ECHO. echo 你好! echo 按任意键... 删除X:\登陆用户\temp目录下的另时文件,清除系统垃圾 :: 删除X:\Documents and Settings\登陆用户\temp目录下的文件和子目录,清除系统垃圾 pause >nul echo 正在清除系统垃圾文件,请稍等...... cls :: = X:\Documents and Settings\登陆用户\Local Settings\Temp start %temp% rd %temp% /s /q & md %temp% :: del /f /s /q "%userprofile%\Local Settings\Temp\*.*" :: ============================================================== cls color e ECHO. echo 你好! echo 按任意键... 继续清除系统垃圾 pause >nul echo 正在清除系统垃圾文件,请稍等...... cls if exist del /f /s /q %systemdrive%\*.tmp if exist del /f /s /q %systemdrive%\*._mp if exist del /f /s /q %systemdrive%\*.log if exist del /f /s /q %systemdrive%\*.gid if exist del /f /s /q %systemdrive%\*.chk if exist del /f /s /q %systemdrive%\*.old if exist del /f /s /q %systemdrive%\recycled\*.* if exist del /f /s /q %windir%\*.bak :: del /f /s /q %windir%\prefetch\*.* if exist rd /s /q %windir%\temp & md %windir%\temp :: del /f /q %userprofile%\cookies\*.* if exist del /f /q %userprofile%\recent\*.* :: del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*" if exist del /f /s /q "%userprofile%\recent\*.*" echo 清除系统LJ完成 echo. echo dosz 小猪猪制作 echo. echo 二○○七年二月一八日 pause >nul
附件 1: 清除系统垃圾文件.rar (2007-2-20 12:42, 819 bytes, 下载附件所需积分 1点 ,下载次数: 33)

作者: gne3     时间: 2007-2-21 08:42
不要太监啊。。。继续说啊

作者: qsj     时间: 2007-3-21 08:26
start 是cmd命令!

作者: kkoper     时间: 2007-3-25 23:24
同志们给个正解啊!

作者: mtiankong     时间: 2007-4-20 22:33
Originally posted by dosz at 2006-2-24 11:27 PM: 你知道这有什么区别吗? =============TESTGHO.BAT========= set LgDrv=1 start 2 A: 7 C: 10 D: 13 E: 16 F: 19 G: 22 H: 25 I: 28 J: set LgDrv=%LgDrv% 31 K: 34 L: 37 M: 40 N: 43 O: 46 P: 49 Q ...
怎么没了下文呢???

作者: xuxinxiangxue     时间: 2007-6-21 21:23
哈哈,这个帮助还不错,好像系统的SET /?没有讲这么多吧。感谢。。。。。

作者: myddos     时间: 2007-9-6 09:23
为什么下载不了付件?

作者: lanpika     时间: 2007-9-16 11:48
楼主是想让大家一起动脑子来测试各种情况,唉……

作者: jk328019419     时间: 2007-11-9 20:02
我就怎么没觉的有的好呢,讲的太不够清楚啊

作者: bgli103     时间: 2007-11-15 01:45
看得不是太懂,,郁闷

作者: wangfei8842     时间: 2007-11-15 09:34
好帖,人见人顶!

作者: huahua0919     时间: 2007-11-17 15:21
好的头,不应该拿文档来帖!

作者: huahua0919     时间: 2007-11-17 15:58
文档要看至少八遍

作者: lgggyyy     时间: 2008-4-4 13:23
謝了,頂一下,看了這貼子,能開闊思路,一知半解的不明白SET命令的應用,這回明白一點.這樣的好貼子越多越好.

作者: haiou327     时间: 2008-8-10 20:01
set LgDrv=1 start 2 A: 7 C: 10 D: 13 E: 16 F: 19 G: 22 H: 25 I: 28 J:
set LgDrv=%LgDrv% 31 K: 34 L: 37 M: 40 N: 43 O: 46 P: 49 Q: 52 R: 55 S: 58
set LgDrv=%LgDrv% T: 61 U: 64 V: 67 W: 70 X: 73 Y: 76 Z: 78
这段是赋LGDRV为字符串"1 start 2 A: 7 C: 10 D: 13 E: 16 F: 19 G: 22 H: 25 I: 28 J: 31 K: 34 L: 37 M: 40 N: 43 O: 46 P: 49 Q: 52 R: 55 S: 58 T: 61 U: 64 V: 67 W: 70 X: 73 Y: 76 Z: 78" 这句改成set LgDrv=1 start 2 A: 7 C: 10 D: 13 E: 16 F: 19 G: 22 H: 25 I: 28 J: set LgDrv=%LgDrv% 31 K: 34 L: 37 M: 40 N: 43 O: 46 P: 49 Q: 52 R: 55 S: 58 set LgDrv=%LgDrv% T: 61 U: 64 V: 67 W: 70 X: 73 Y: 76 Z: 78 echo %lgdrv% pause 就可看到变量%LGDRV%的值
set LgDrv=start A: Z: Y: X: W: V: U: T: S: R: Q: P: O:
set LgDrv=%LgDrv% N: M: L: K: J: I: H: G: F: E: D: C: over
这段是赋LGDRV为字符串"start A: Z: Y: X: W: V: U: T: S: R: Q: P: O: N: M: L: K: J: I: H: G: F: E: D: C: over" 这句改成set LgDrv=start A: Z: Y: X: W: V: U: T: S: R: Q: P: O: set LgDrv=%LgDrv% N: M: L: K: J: I: H: G: F: E: D: C: over echo %lgdrv% pause 就可看到变量%LGDRV%的值 [ Last edited by haiou327 on 2008-8-10 at 08:20 PM ]

作者: haiou327     时间: 2008-8-10 20:11
通常
set LgDrv=Z Y X  W  V  U  T  S R Q P O N M L K  I H G F E D C
或
set LgDrv=Z Y X  W  V  U  T  S R Q P O N 
set LgDrv=%LgDrv% M L K  I H G F E D C
这两种 [ Last edited by haiou327 on 2008-8-10 at 08:17 PM ]

作者: ibest4     时间: 2008-9-2 21:18
这贴不好~ 没下文~

作者: sou125     时间: 2008-11-24 11:45
好贴 只是让人要等好久才有下文

作者: alchemist     时间: 2008-11-27 17:02
基本上是批处理专用

作者: cmdfans     时间: 2008-11-27 17:08
好抽象啊??有些看不懂

作者: luxipeng     时间: 2008-12-1 21:19
都没有举多少关于set的例子

作者: mysuntjy     时间: 2008-12-3 06:12
请LZ把WIN98启动盘的AUTOEXEC.BAT中SET LglDrv=的用法讲一讲,谢谢!

作者: feiyuguochen     时间: 2008-12-12 21:37    标题: 例子
要是有一些经典的例子就好了!

作者: iamqiuhui     时间: 2009-2-3 14:21
贴主真明白了吗? 看了你的文章和回复, 感觉不够专业

作者: 523066680     时间: 2009-2-3 17:19
主要是来讨论的。。。。。 不过这帖子也是2006的了…… 斑竹们是不是考虑下清楚连续几十楼的口水?

作者: HAT     时间: 2009-2-3 20:42    标题: Re 69楼
你去申请版主吧,我支持你在这里删帖:)

作者: 523066680     时间: 2009-2-3 22:10
咦 不要的 ~ 这个称号我很崇敬的。 等我以后有一定能力而且可以长时间上网的话 我就自荐下。

作者: mn960mn     时间: 2009-2-28 22:27
没例子????? 还是搞不大清楚 在举几个例子吧

作者: liuxy321     时间: 2009-3-1 00:28
呵。。。 瞧成SED,以为是SED命令介绍。

作者: shoot     时间: 2009-3-1 07:57
∑↑↓の看看

作者: limiqi     时间: 2009-3-1 11:29
不错,不错,来看看~~

作者: xcyd002     时间: 2009-3-2 01:28
真沮丧,怎么想学东西就这么难呢?

作者: 253255441     时间: 2009-3-5 11:31
怎么没有下文了 是不是等差数列啊

作者: ningxy     时间: 2009-3-5 13:04
不错啊

作者: liuok     时间: 2009-3-7 23:10
为什么这么好的贴子没有下文了呢?

作者: xueshan007050     时间: 2010-4-21 15:21
@echo off set LgDrv=1 start 2 A: 7 C: 10 D: 13 E: 16 F: 19 G: 22 H: 25 I: 28 J: set LgDrv=%LgDrv% 31 K: 34 L: 37 M: 40 N: 43 O: 46 P: 49 Q: 52 R: 55 S: 58 set LgDrv=%LgDrv% T: 61 U: 64 V: 67 W: 70 X: 73 Y: 76 Z: 78 echo %LgDrv% echo --------------------------------------- echo --------------------------------------- set LgD=start A: Z: Y: X: W: V: U: T: S: R: Q: P: O: set LgD=%LgDrv% N: M: L: K: J: I: H: G: F: E: D: C: over echo %LgD% pause 我觉得楼主开始的时候写这段代码的意思是: 1.set 赋值的变量后面的 会认为成字符串。 2.而且可以使用 拼接字符。

作者: 165527339     时间: 2010-4-22 12:15
好高深哦这东西

作者: ysjpl1989     时间: 2010-4-28 10:35
学习了~~~!

作者: DOSnewsuser     时间: 2010-4-28 16:52
顶你.................

作者: kexianlin     时间: 2010-6-5 08:27
这贴子是让大家自己讨论的,大家各抒己见

作者: huaqiaochy     时间: 2010-6-5 16:03
pause >>nul 有什么用?

作者: huaqiaochy     时间: 2010-6-5 16:05
知道了。。

作者: tengrong1978     时间: 2010-6-10 19:34
感谢楼主开创了这么有价值的贴子,学习了~~~

作者: fenizi129427     时间: 2010-6-16 10:50
学习了

作者: francisgai     时间: 2010-7-14 17:08
有例才强大

作者: renmingwu     时间: 2010-7-23 16:12
楼主讲完,咱们练习下就行了!

作者: kaneta2010     时间: 2010-7-23 18:25
好东西

作者: WUYAN520     时间: 2010-8-2 12:33
期待下文中...