楼 主
在本论坛看到的个代码但是不知道原理是什么?
发表于 2007-12-29 11:20 · 中国 河北 邯郸 电信
初级用户
★
积分 30 发帖 12 注册 2007-10-19 18:07 18年会员 UID 100183 性别 男
状态 离线
@echo off
for %%i in (Z Y X W V U T S R Q P L O N M L K J I H G F E D C ) do (
if exist %%i:\nul echo 最后的盘符为 %%i & pause>nul && goto :eof
)
这个能判断出最后的盘符 是什么原理呢
谢谢了
第 2 楼
发表于 2007-12-29 12:09 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 19年会员 UID 59080
状态 离线
依次从Z循环处理到C,注意这里是逆序的,所以如果if语句检测出哪个盘符可用,那么显示这个盘符并且退出,所以基本可以判断最后的盘符。
第 3 楼
发表于 2007-12-29 20:30 · 中国 河北 邯郸 临漳县 电信
初级用户
★
积分 30 发帖 12 注册 2007-10-19 18:07 18年会员 UID 100183 性别 男
状态 离线
第 4 楼
发表于 2007-12-31 22:58 · 中国 安徽 马鞍山 电信
中级用户
★★
拟谷盗
积分 312 发帖 108 注册 2007-01-21 11:36 19年会员 UID 77238 性别 男
状态 离线
@echo off
for %%i in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do if exist %%i:\ echo %%i
pause>nul
>nul 即输出为空
例:ping 127.1 >nul
ping回环地址127.0.0.1 但执行结果不显示在屏幕上
另外还有 >nul 2>nul
此意为屏蔽错误输出
在批处理里“>nul”往往和“@”及“@echo off”配合使用,以达到使一般用户看不到任何信息的目的。
第 5 楼
dos里有几个预定义的设备
发表于 2008-01-01 10:10 · 中国 江苏 无锡 电信
初级用户
★
积分 52 发帖 21 注册 2008-01-01 09:30 18年会员 UID 107370 性别 男
状态 离线
比如con代表显示设备,prn代表打印设备,nul代表空设备
大于号">"表示将前面程序的输出内容重新定向到">"后面的设备,比如
type a.txt表示在屏幕上显示a.txt的内容,
而type a.txt > prn表示将a.txt的内容送到打印机(类似于copy a.txt prn)
pause >nul表示执行pause命令,但不显示pause提示内容
c:\nul与c:\是一样的
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正