中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [求助]大家帮忙看看这个问题如何实现?已有回复,但未解决
作者:
标题: [求助]大家帮忙看看这个问题如何实现?已有回复,但未解决 上一主题 | 下一主题
zyshow
初级用户




积分 109
发帖 2
注册 2004-3-10
状态 离线
『楼 主』:  [求助]大家帮忙看看这个问题如何实现?已有回复,但未解决

问题是这样的(见下面两个批处理文件)
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。加我时注明一下。














[此贴子已经被作者于2004-3-14 17:45:45编辑过]




2004-3-11 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 2 楼』:  

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[Yes,No,Cancel]?"
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三个键,其它键均不允许,如果真要实现,你恐怕得自己编程序或者寻找其它人写的程序了。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-3-11 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2343
发帖 636
注册 2004-3-6
状态 离线
『第 3 楼』:  

2楼好样的。

不过有几个问题:
1,不过拷贝之前是不是得先检测 D:\soft\ 是否存在?
2,choice之中的No和Cancel有何不同?
3,if not exist \setup\. md \setup 在只存在 setup 空目录时会出错,改成 if not exist \setup\nul md \setup 会好一点


2004-3-11 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 4 楼』:  

1,我是在楼主所提出的前提环境下写批处理的,当然得假定该目录一定存在。

2,从例子中的批处理看来没有什么不同,但楼主想要按任意键退出,我只好多加一个键了,呵呵

3,很多十分经典的启动软盘中都使用 \.的方式检测目录是否存在,我也一直使用这种方式,好象没有发现出什么问题,不知道你说的情况是在什么操作系统下会出现?不过谢谢你的指教,我再试验一下。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-3-12 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
zyshow
初级用户




积分 109
发帖 2
注册 2004-3-10
状态 离线
『第 5 楼』:  

先谢谢两位朋友,不过现在仍然有问题。
我的意思是在列表后,画面是停止在文件列表的状态下,然后根据按键来决定是COPY还是EXIT。如执行COPY的话,在完成后再提示“按任意键退出”。而Climbing朋友给出的批处理,执行后只是一闪而过。

望两位朋友再帮忙看看问题出在哪里??

2004-3-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2343
发帖 636
注册 2004-3-6
状态 离线
『第 6 楼』:  

4楼的兄弟,第三个问题,确实是个问题。我在98, dos710, dos622下测试都证明了这一点。
另外,那句choice少了个冒号 ,应该这样:
choice /C:YNC /M "Do you want to copy files[Yes,No,Cancel]?"

楼主兄弟,你问的简单了点,怎么个一闪而过法?没有显示文件列表?还是显示了最后的一部分。如果是后者,dir那句改成:
dir /b /p soft\*.*



2004-3-12 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 7 楼』:  



  Quote:
以下是引用qzwqzw在2004-3-12 22:39:22的发言:
4楼的兄弟,第三个问题,确实是个问题。我在98, dos710, dos622下测试都证明了这一点。
另外,那句choice少了个冒号 ,应该这样:
choice /C:YNC /M "Do you want to copy files[Yes,No,Cancel]?"

楼主兄弟,你问的简单了点,怎么个一闪而过法?没有显示文件列表?还是显示了最后的一部分。如果是后者,dir那句改成:
dir /b /p soft\*.*


关于你所提的意见,我使用的是Windows 2003的DOS窗口测试的,我的机器上已经没有98、DOS 6.22以及DOS 7.10的环境了,具体应用时还是自己根据实际情况进行适当修改吧。

To 楼主:不要一味的提问或者说问题解决不了,你自己也要多动手实践或者改进啊,难道要别人手把手的教你?当然这样也不是不可以,把你的机器搬到我这儿来,我在你的机器上帮你做,你能做到吗?另外,反映问题时要写清楚,建议你好好学习一下“提问的智慧”这篇文章。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-3-14 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2343
发帖 636
注册 2004-3-6
状态 离线
『第 8 楼』:  

Climbing老兄,你的要求未免太高了点吧。
其实楼主兄弟已经表现得很不错了,至少两次提问都不是一语带过,比某些急功近利的小子们来说,是好得多了。
关于提问的智慧,相信能够认真遵守的,在这里没有几个。对于初学者来说,想让他表达出问题的重点,总不是那么容易的,因为他们的注意力多集中在结果而不是过程,与你们还不一样。

2004-3-14 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 9 楼』:  

对,有些人是菜鸟,但菜鸟不能成为无知的理由,大家都是从菜鸟一步步走来的,没有人希望自己永远是菜鸟吧?想由菜鸟成为高手,没有取巧的途径,只有努力学习,多多实践。其实,计算机中有多少高深而不可测的知识呢?说白了就是没有。一些所谓的高手与菜鸟的区别只不过是经验深浅而已。我从来不承认自己是高手,因为我知道要真正的搞明白dos,用好dos,没有很高的汇编语言和C语言基础就都只是停留在皮毛上。现在很多dos下无法解决的问题,我看都只能通过编程来解决,例如:在dos下用命令行方式无损数据修改分区的大小,本身并不是复杂的一件事,因为PQ就能在纯dos下做到,但可惜它不提供命令行方式的操作。

“提问的智慧”并不是多么深不可测的技术文档,只是提醒一些菜鸟如何客观详尽的反映你的问题,从而使问题得到更快的解决,如果你想解决问题,就要依照着它的指导来进行。如果你连这些最基本的要求都做不到,那么你只是在浪费别人的时间,最终你的问题仍然是得不到解决,不知道这样下去还有什么意义?



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-3-14 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2343
发帖 636
注册 2004-3-6
状态 离线
『第 10 楼』:  

Climbing老兄还是太年青啊,再过上两个月再与我讨论这个问题吧。中国的现状,乃至世界的现状,都是不得不去面对的,w斑竹就很少这样要求提问者,因为他知道要求与不要求并不会改变什么

2004-3-14 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 11 楼』:  

靠,我还年轻?你不如直接说我幼稚得了。

其实别人菜不菜关我什么事,我只是有点儿恨铁不成钢罢了。如果有人愿意永远当菜鸟我当然挡不住,随他去好了。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-3-14 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: