中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 12:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理文件的问题? 查看 884 回复 6
楼 主 [求助]批处理文件的问题? 发表于 2006-12-02 10:48 ·  中国 广东 东莞 电信
初级用户
积分 40
发帖 16
注册 2006-11-29 02:32
19年会员
UID 72042
性别 男
状态 离线
各位大侠:
帮帮我看看我的批处理文件到底错在哪里呀?
f.bat 内容如下
copy g:\%*.* c:\ws\

我是在DOS7.10下使用的,由于我在工作中总是要把网络盘g:\盘里指定的文件拷贝到C:\ws\目录里,如果每次都要这样输入的话,很是费劲,这就是想写一个这样的批处理文件.
当我想拷贝将g:\100.dxf文件到c:\ws\目录下时,我只需要输入 f 100
当我想拷贝将g:\101.dxf文件到c:\ws\目录下时,我只需要输入 f 101
当我想拷贝将g:\102.dxf文件到c:\ws\目录下时,我只需要输入 f 102

我用上面这个写法在WINXP里试过可以,但到了纯DOS7.10下试就不行了,请高手指点迷津,先谢谢了!


──────────────── 版务记录 ────────────────
执行:namejm
原标题:批处理文件的问题?
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因刚脱离论坛新人阶段不久,暂时不予处罚;若三日之后尚未修改标题,将扣除
  2点积分,以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,
  以避免在今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────


[ Last edited by namejm on 2006-12-1 at 10:59 PM ]
2 发表于 2006-12-02 12:47 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线


echo off
if "%1"=="" goto :eof
copy g:\%1.dxf c:\ws\
3 发表于 2006-12-02 22:20 ·  中国 广东 东莞 电信
初级用户
积分 40
发帖 16
注册 2006-11-29 02:32
19年会员
UID 72042
性别 男
状态 离线
谢谢高手指点!
4 发表于 2006-12-02 23:40 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
19年会员
UID 61449
来自 北京
状态 离线
不知道LZ所说的网络盘是指什么???如果是U盘或者网络上的磁盘,那么在MS-DOS 7.1系统中需要加载驱动或者协议才可以完成...........
我今后在论坛的目标就是做个超级坏人!!!
5 发表于 2006-12-02 23:56 ·  中国 广东 东莞 电信
初级用户
积分 40
发帖 16
注册 2006-11-29 02:32
19年会员
UID 72042
性别 男
状态 离线
TO:9527
是局域网的网络盘,我们公司的局域网已经搭建好了,DOS下直接访问2003Server.

另外再请教一个问题:
如果用户没有输入文件名时,就显示:No filename input!这样的信息,在批处理文件里应该怎么写呢?下面这样不知对不对,请大家再指点一下,谢谢!
@echo off

if "%1"=="" goto :eof
copy g:\%1.dxf c:\ws\

:eof
echo No filename input!
6 发表于 2006-12-03 00:06 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
19年会员
UID 61449
来自 北京
状态 离线
TO:vocabulary
之所以你的%*号参数不成是因为DOS 6.22 和 DOS 7.0是不支持这个参数的,只支持%1---%9 ,所以你运行出错,如果增加提示上面的是可以了,不过XP下就不会有提示了,因为goto :eof 这句是直接退出P处理,而且在正常的情况下也会出现你的提示信息,因为P处理是逐行执行的,建议更改一下:


@echo off
if "%1"=="" goto pp
copy g:\%1.dxf c:\ws\
goto end
:pp
echo No filename input!
:end
我今后在论坛的目标就是做个超级坏人!!!
7 发表于 2006-12-03 02:19 ·  中国 广东 东莞 电信
初级用户
积分 40
发帖 16
注册 2006-11-29 02:32
19年会员
UID 72042
性别 男
状态 离线
收到,谢谢9527大侠的指点!
论坛跳转: