中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]一个批处理的参数问题
作者:
标题: [已解决]一个批处理的参数问题 上一主题 | 下一主题
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『楼 主』:  [已解决]一个批处理的参数问题

我有个批处理,想直接运行的话就进入向导方式,拖个文件到批处理就执行这个文件。如下这个批处理直接执行后显示无参数,但拖文件下去只是一闪而过,请问这个批处理如何修正呢?谢谢!
@echo off
title 参数问题
if not "%1"=="" echo %1
if "%1"=="" echo 无参数
pause
[ Last edited by chishingchan on 2008-4-14 at 02:04 PM ]

2007-12-13 20:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 2 楼』:  

pause

2007-12-13 20:13
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by vkill at 2007-12-13 08:13 PM:
pause

我拖的是 kis7.sch.msi 文件,加了暂停指令还是一闪而过!


情况:一闪而过
@echo off
title 参数问题
if "%1"=="" echo 无参数 else echo %1
pause


情况:显示所拖的文件名称
@echo off
title 参数问题
echo %1
pause

[ Last edited by chishingchan on 2007-12-13 at 08:30 PM ]

2007-12-13 20:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 4 楼』:  

@echo off
title 参数问题
if "%1"=="" (echo 无参数) else echo %1
pause



2007-12-13 21:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by zh159 at 2007-12-13 09:12 PM:
@echo off
title 参数问题
if "%1"=="" (echo 无参数) else echo %1
pause

请问你自己试过没有啊?
你的方案还不是一闪而过?!

2007-12-13 22:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ILoveDosoo1
新手上路





积分 10
发帖 4
注册 2007-12-12
状态 离线
『第 6 楼』:  

@echo off
title 参数问题

if "%1"=="" echo 无参数
:a
if not "%1"=="" echo %1  & goto b

goto  a
:b
pause
不知道可以吗?

2007-12-13 22:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by ILoveDosoo1 at 2007-12-13 10:45 PM:
@echo off
title 参数问题

if "%1"=="" echo 无参数
:a
if not "%1"=="" echo %1  & goto b

goto  a
:b
pause
不知道可以吗?

你和4楼的是一伙的都不行:拖个文件下去试试!

2007-12-14 00:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
balinger
中级用户




积分 356
发帖 115
注册 2004-7-27
状态 离线
『第 8 楼』:  

@echo off
title 参数问题
if not %1*==* echo %1
if %1*==* echo 无参数
pause

2007-12-14 21:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by balinger at 2007-12-14 09:37 PM:
@echo off
title 参数问题
if not %1*==* echo %1
if %1*==* echo 无参数
pause

不错,初步测试正常。整合到我的批处理里再试试。谢谢!

2007-12-14 23:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 10 楼』:  


@echo off
title 参数问题
if not %1*==* set file=%1
echo %file%
pause
通过!

[ Last edited by chishingchan on 2007-12-15 at 12:24 AM ]

2007-12-15 00:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hxwxyz
中级用户




积分 245
发帖 123
注册 2007-6-8
状态 离线
『第 11 楼』:  

学习了 请问下 怎么加个*就可以了

2007-12-15 12:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


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

跟*不*的没有关系吧。在我的测试中,下面的_t1和_t2均正常:
@echo off
title 参数问题

goto :_t2

:_t1
if not "%1"=="" echo _t1:%1
if "%1"=="" echo _t1:无参数
pause
goto :eof

:_t2
if "%1"=="" (echo _t2:无参数) else (echo _t2:%1)
pause




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




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 13 楼』:  总结:

12 楼的代码是不符合要求的!
@echo off
title 测试时直接运行或拖曳文件到此批处理,有显示:正确;无显示:错误
if not %1*==* set file=%1
if %1*==* set file=Null
echo %file%
pause


2008-4-14 14:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
rzwwj1
初级用户





积分 100
发帖 67
注册 2007-6-8
状态 离线
『第 14 楼』:  

学习。。。。。。。。。。。。。。。。

2008-4-21 06:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: