中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 21:55
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 大虾来帮忙啊:关于Y/N选择性命令! 查看 905 回复 9
楼 主 大虾来帮忙啊:关于Y/N选择性命令! 发表于 2008-10-02 18:49 ·  中国 广东 中山 电信
初级用户
积分 74
发帖 34
注册 2008-09-30 22:40
17年会员
UID 127117
性别 男
状态 离线
现在我想设置一个bat,用打开后把文件拉进去,先提示显示/隐藏选项,再每项提示Y/N,的操作,该如何写?能不能选项用鼠标选择运行?能给个例子吗?各位大虾!
2 发表于 2008-10-02 19:11 ·  中国 福建 漳州 联通
中级用户
★★
积分 228
发帖 125
注册 2008-08-25 19:17
17年会员
UID 124135
性别 男
状态 离线
做个简单的例子给你啊。

@echo off
set /p shuru="请输入内容:"
if /i "%shuru%"=="Y" (
echo "你选择了Y!
) else (
echo "其他"
)
pause


[ Last edited by hackate on 2008-10-2 at 19:14 ]
3 发表于 2008-10-02 19:49 ·  中国 广东 中山 电信
初级用户
积分 74
发帖 34
注册 2008-09-30 22:40
17年会员
UID 127117
性别 男
状态 离线
@echo off
set /p a=请拉入文件
set "b=attrib %a% +s +h +r -a"
set "c=attrib %a% -s -h -r +a"
if /i "%a%"=="Y" call %b%
else call %c%
4 发表于 2008-10-02 19:49 ·  中国 广东 中山 电信
初级用户
积分 74
发帖 34
注册 2008-09-30 22:40
17年会员
UID 127117
性别 男
状态 离线
上面的不行哦要怎么修改?
5 发表于 2008-10-02 20:07 ·  中国 广东 中山 电信
初级用户
积分 74
发帖 34
注册 2008-09-30 22:40
17年会员
UID 127117
性别 男
状态 离线
@echo off
set /p a=请拉入文件
set b="attrib %a% +s +h +r -a"
set c="attrib %a% -s -h -r +a"
set /p d=隐藏输入Y显示输入N:

if "%d%"=="N" attrib %a% -s -h -r +a
if "%d%"=="Y" attrib %a% +s +h +r -a

if "%d%"=="n" attrib %a% -s -h -r +a
if "%d%"=="y" attrib %a% +s +h +r -a

这样可以了,不过想把命令设定为一个b来定义代替如何做?
6 发表于 2008-10-02 20:15 ·  中国 贵州 黔西南布依族苗族自治州 兴义市 电信
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
if /?|find "else" /i


[ Last edited by s11ss on 2008-10-2 at 20:22 ]
7 发表于 2008-10-02 20:15 ·  中国 福建 漳州 联通
中级用户
★★
积分 228
发帖 125
注册 2008-08-25 19:17
17年会员
UID 124135
性别 男
状态 离线
@echo off
set /p a=请拉入文件
set /p hd=请选择要隐藏吗(y/n)
if /i "%hd%"=="Y" (
attrib +h %a%
) else (
attrib -h %a%
)
pause

自己再自行改改,,看来你对基础还是很多不懂的
8 发表于 2008-10-02 21:32 ·  中国 广东 中山 电信
初级用户
积分 74
发帖 34
注册 2008-09-30 22:40
17年会员
UID 127117
性别 男
状态 离线
终于写了个比较满意的文件隐藏和显示功能bat

@echo off

:yincang
set /p a=请拉入要隐藏的文件
if "%a%"=="" (goto xianshi) else attrib %a% +s +h +r -a
echo OK!隐藏操作成功!
echo 文件已经赋予系统隐藏和只读属性了!

:xianshi
set /p b=请拉入要显示的文件
if "%b%"=="" (goto yincang) else attrib %b% -s -h -r +a
echo OK!显示操作成功!
echo 文件已经赋予显示状态和可读写属性了!

goto yincang

[ Last edited by yaogunbasana on 2008-10-2 at 21:38 ]
9 发表于 2008-10-02 21:35 ·  中国 广东 中山 电信
初级用户
积分 74
发帖 34
注册 2008-09-30 22:40
17年会员
UID 127117
性别 男
状态 离线
不知道能不能直接拉进了文件不用按回车直接进行操作呢?
10 发表于 2008-10-02 21:49 ·  中国 广东 中山 电信
初级用户
积分 74
发帖 34
注册 2008-09-30 22:40
17年会员
UID 127117
性别 男
状态 离线
@echo off

:yincang
set /p a=请拉入要隐藏的文件
if "%a%"=="" (goto xianshi) else attrib %a% +s +h +r -a
echo OK!隐藏操作成功!
echo 文件已经赋予系统隐藏和只读属性了!
set a=

:xianshi
set /p b=请拉入要显示的文件
if "%b%"=="" (goto yincang) else attrib %b% -s -h -r +a
echo OK!显示操作成功!
echo 文件已经赋予显示状态和可读写属性了!
set b=

goto yincang


这个比较完善点吧!不会重复一个文件了
论坛跳转: