中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 15:50
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何使批处理等待输入? 查看 2,976 回复 4
楼 主 如何使批处理等待输入? 发表于 2006-05-25 18:31 ·  中国 江苏 苏州 电信
新手上路
积分 10
发帖 3
注册 2006-05-25 16:32
20年会员
UID 55986
状态 离线
类似批处理中的 %1 ,但这个参数必须在运行批处理时一起带入,有时会忘记,现在想在批处理中提示要输入,然后后面的批处理根据输入的内容来处理.

具体问题是:我在服务器上要备份一些数据,但批处理无法自动建立当前日期的目录(找了论坛上的教程好象都没办法,如有什么办法最好了,就不用这样用手输入了),所以只好用批处理建立目录,但批处理使用的参数 %1 有时会忘记加载,所以最好在批处理中等待输入日期,然后根据输入的内容建立目录,最后复制备份文件到这个目录里.

请各位高手指点,谢谢!
2 发表于 2006-05-25 19:27 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
关于建立以当前日期为名的目录在本论坛讨论过几次,建议仔细搜搜。
你可以尝试输入以下命令:

md %date:~0,10%

注意不同的环境中可能%date%变量的表达格式不尽相同,可以参照自行修改。
另外,如果需要在脚本中等待输入并引用,可以尝试使用set命令。

@echo off
set /p var=请输入内容:
echo 你输入的内容为: %var%
pause>nul

这些都是比较基本的,建议多看看帮助与支持或者多翻翻论坛老贴。
3 发表于 2006-05-26 07:26 ·  中国 江苏 苏州 电信
新手上路
积分 10
发帖 3
注册 2006-05-25 16:32
20年会员
UID 55986
状态 离线
谢谢指点,是该好好学学了,平时几乎不用,好多都不懂

不过上面的很多命令都是NT命令行才支持啊,在98里面根本不能用,能否有其他办法在98里使用呢,请再指点一下,谢谢!

[ Last edited by yc2455 on 2006-5-26 at 11:13 ]
4 发表于 2006-05-26 08:32 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re yc2455:

set /p 和 %date% 都是属于NTCMD的特性,可以在类似XP的命令行方式下使用,而Win98的DOS版本是7.1,与MS-DOS6.22和Win95的MS-DOS7.0相比,其批处理语法支持除了长文件名处理和一些细节外,基本一致。

关于Win98或者MS-DOS下获取日期到环境变量,并据此生成目录,本版也有讨论,可以搜索一下过去的主题,最近打算将批处理中的日期问题作个整理,可能需要三天到一周的时间,届时将在发表在批处理室,欢迎查阅。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
5 发表于 2006-05-26 11:12 ·  中国 江苏 苏州 电信
新手上路
积分 10
发帖 3
注册 2006-05-25 16:32
20年会员
UID 55986
状态 离线
谢谢答复,期待中.....
论坛跳转: