![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-16 11:57 |
共 47,813 主题排行 / 349,903 发帖 / 今日 0 篇 / 48,258 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » [求助]大家帮忙看看这个问题如何实现?已有回复,但未解决 |
| 可打印版本 648 / 10 |
| 第1楼 zyshow | 发表于 2004-03-11 00:00 |
| 初级用户 发帖 2 积分 109 | |
|
[求助]大家帮忙看看这个问题如何实现?已有回复,但未解决 问题是这样的(见下面两个批处理文件)
1、 CLS @ECHO OFF ECHO 文件列表查看结果 dir soft\*.* echo 按任意键退出... pause>nul exit 2、 CLS @echo off ECHO. COPY D:\soft\*.* \Setup\ ECHO. 我的目的是把这两个批处理改成一个,让它先列出指定目录下的文件列表,然后在提示“按Y进行COPY,按其他任意键退出”.如果按Y后,提示“CPOY完成,按任意键退出”。 在这其中还有两个相关问题: 1、单独执行第一个批处理时会出现下面的字样: 文件列表查看结果 驱动器 X 中的卷是 ...... 卷的序列号是 ...... X:\soft 的目录 ......... ......... ......... 按任意键退出... 其中“X”代表盘符。我只想把红字那部分隐藏起来,不知可否实现? 2、第二个批处理如何实现把soft目录中的所有文件(包括子目录和其中的文件)全部COPY到Setup中? 希望大家给予答复,先谢谢啦! 也可以用QQ与我联系2010522。加我时注明一下。 |
|
| 第2楼 Climbing | 发表于 2004-03-11 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
1、
CLS @ECHO OFF dir /b soft\*.* echo 按任意键退出... pause>nul exit 2、 CLS @echo off if not exist \setup\. md \setup ECHO. XCOPY /e /y D:\soft\*.* \Setup ECHO. 合并: CLS @ECHO OFF dir /b soft\*.* choice /C YNC /M "Do you want to copy files?" if errorlevel 255 goto _quit if errorlevel 3 goto _quit if errorlevel 2 goto _quit if errorlevel 1 goto _copy if errorlevel 0 goto _quit goto _quit :_copy cls if not exist \setup\. md \setup ECHO. XCOPY /e /y D:\soft\*.* \Setup ECHO. ECHO COPY完成,按任意键退出... pause > nul :_quit exit 你所说的按Y执行copy,按任意键退出的方法很难实现,在本例中只能是按Y、N和C三个键,其它键均不允许,如果真要实现,你恐怕得自己编程序或者寻找其它人写的程序了。 |
|
| 第3楼 qzwqzw | 发表于 2004-03-11 00:00 |
| 银牌会员 发帖 636 积分 2,343 | |
|
2楼好样的。
不过有几个问题: 1,不过拷贝之前是不是得先检测 D:\soft\ 是否存在? 2,choice之中的No和Cancel有何不同? 3,if not exist \setup\. md \setup 在只存在 setup 空目录时会出错,改成 if not exist \setup\nul md \setup 会好一点 |
|
| 第4楼 Climbing | 发表于 2004-03-12 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
1,我是在楼主所提出的前提环境下写批处理的,当然得假定该目录一定存在。
2,从例子中的批处理看来没有什么不同,但楼主想要按任意键退出,我只好多加一个键了,呵呵 3,很多十分经典的启动软盘中都使用 \.的方式检测目录是否存在,我也一直使用这种方式,好象没有发现出什么问题,不知道你说的情况是在什么操作系统下会出现?不过谢谢你的指教,我再试验一下。 |
|
| 第5楼 zyshow | 发表于 2004-03-12 00:00 |
| 初级用户 发帖 2 积分 109 | |
|
先谢谢两位朋友,不过现在仍然有问题。
我的意思是在列表后,画面是停止在文件列表的状态下,然后根据按键来决定是COPY还是EXIT。如执行COPY的话,在完成后再提示“按任意键退出”。而Climbing朋友给出的批处理,执行后只是一闪而过。 望两位朋友再帮忙看看问题出在哪里?? |
|
| 第6楼 qzwqzw | 发表于 2004-03-12 00:00 |
| 银牌会员 发帖 636 积分 2,343 | |
|
4楼的兄弟,第三个问题,确实是个问题。我在98, dos710, dos622下测试都证明了这一点。
另外,那句choice少了个冒号 ,应该这样: choice /C:YNC /M "Do you want to copy files?" 楼主兄弟,你问的简单了点,怎么个一闪而过法?没有显示文件列表?还是显示了最后的一部分。如果是后者,dir那句改成: dir /b /p soft\*.* |
|
| 第7楼 Climbing | 发表于 2004-03-14 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
以下是引用qzwqzw在2004-3-12 22:39:22的发言: 关于你所提的意见,我使用的是Windows 2003的DOS窗口测试的,我的机器上已经没有98、DOS 6.22以及DOS 7.10的环境了,具体应用时还是自己根据实际情况进行适当修改吧。 To 楼主:不要一味的提问或者说问题解决不了,你自己也要多动手实践或者改进啊,难道要别人手把手的教你?当然这样也不是不可以,把你的机器搬到我这儿来,我在你的机器上帮你做,你能做到吗?另外,反映问题时要写清楚,建议你好好学习一下“提问的智慧”这篇文章。 |
|
| 第8楼 qzwqzw | 发表于 2004-03-14 00:00 |
| 银牌会员 发帖 636 积分 2,343 | |
|
Climbing老兄,你的要求未免太高了点吧。
其实楼主兄弟已经表现得很不错了,至少两次提问都不是一语带过,比某些急功近利的小子们来说,是好得多了。 关于提问的智慧,相信能够认真遵守的,在这里没有几个。对于初学者来说,想让他表达出问题的重点,总不是那么容易的,因为他们的注意力多集中在结果而不是过程,与你们还不一样。 |
|
| 第9楼 Climbing | 发表于 2004-03-14 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
对,有些人是菜鸟,但菜鸟不能成为无知的理由,大家都是从菜鸟一步步走来的,没有人希望自己永远是菜鸟吧?想由菜鸟成为高手,没有取巧的途径,只有努力学习,多多实践。其实,计算机中有多少高深而不可测的知识呢?说白了就是没有。一些所谓的高手与菜鸟的区别只不过是经验深浅而已。我从来不承认自己是高手,因为我知道要真正的搞明白dos,用好dos,没有很高的汇编语言和C语言基础就都只是停留在皮毛上。现在很多dos下无法解决的问题,我看都只能通过编程来解决,例如:在dos下用命令行方式无损数据修改分区的大小,本身并不是复杂的一件事,因为PQ就能在纯dos下做到,但可惜它不提供命令行方式的操作。
“提问的智慧”并不是多么深不可测的技术文档,只是提醒一些菜鸟如何客观详尽的反映你的问题,从而使问题得到更快的解决,如果你想解决问题,就要依照着它的指导来进行。如果你连这些最基本的要求都做不到,那么你只是在浪费别人的时间,最终你的问题仍然是得不到解决,不知道这样下去还有什么意义? |
|
| 第10楼 qzwqzw | 发表于 2004-03-14 00:00 |
| 银牌会员 发帖 636 积分 2,343 | |
|
Climbing老兄还是太年青啊,再过上两个月再与我讨论这个问题吧。中国的现状,乃至世界的现状,都是不得不去面对的,w斑竹就很少这样要求提问者,因为他知道要求与不要求并不会改变什么
|
|
| 第11楼 Climbing | 发表于 2004-03-14 00:00 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
靠,我还年轻?你不如直接说我幼稚得了。
其实别人菜不菜关我什么事,我只是有点儿恨铁不成钢罢了。如果有人愿意永远当菜鸟我当然挡不住,随他去好了。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |