永发信息网

批处理如何判断是否传递给文件参数

答案:3  悬赏:30  手机版
解决时间 2021-11-29 16:07
批处理如何判断是否传递给文件参数
最佳答案
%1 是表示传递的第一个参数,如果没带参数,则 %1 为空 ,对于写的代码而言,形同:
if not exit goto :sorry
当然是语法错误
下面第一句把%1为空的跳开就不会发生语法错误了:
if "%1"=="" echo 应该带参数运行&goto :sorry
if not exist %1 echo 找不到 %1 文件或文件夹&goto :sorry
全部回答
你怎么用的啊?
if not exist %1 (goto error ) else ( goto yes)
:error
echo error
pause
:yes
echo yes
pause
上面的保存成bat
然后随便拖一个文件上去,没出现问题啊追问不是我是直接双击打开的时候不能判断,会提示语法错误追答yyykkkyyyy
问答的很强悍啊!应该解决了吧……厉害……追问嗯谢谢
%1 是表示传递的第一个参数,如果没带参数,则 %1 为空 ,对于你写的代码而言,形同:
if not exit goto :sorry
当然是语法错误,
下面第一句把%1为空的跳开就不会发生语法错误了:
if "%1"=="" echo 应该带参数运行&goto :sorry
if not exist %1 echo 找不到 %1 文件或文件夹&goto :sorry追问if "%1"=="" (
goto :sorry
)else(
if not %~x1==.asm goto :sorry
)
按楼下大虾说的改了下,还是不行,没参数是正确,有参数(当吧一个文件拖到上面时)提示不应有参数
这样正确了,但是传递的文件名字中不能有空格啊怎么回事大虾指教
上面的是不对的提示不应该有else为什么?
if "%1"=="" goto :sorry
if not %~x1==.asm goto :sorry
这个是正确的追答格式上我该说的已经说了,自己应该注意,比如现贴的 else 与后面的括号就差空格 而且对于if 判断字符来说==的前后都应该加上引号比较,(比如拖了一个无后缀名的) 要有此习惯,而且对于这种比较if 应该加 /i 忽略大小写
看了追问,大概知道用途,给你换个写法:(不用判断是否为空)
echo %~1|findstr/ie "\.asm">nul||goto sorry
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么离子电子构型对于离子的极化力和变形性
28.88是什么含义
612÷25?坚式计算!
A380的速度是多少
我是批发灯具的,怎样找客户?
209×11-(209+11×3)怎么分配
我从沿江大道兰陵路到八一路湖锦怎么做公汽
推荐款路由器穿两堵墙的最好自己有在用
lol乐芙兰和沙皇补兵谁更难
超群理发店地址在什么地方,我要处理点事!
单选题在观察藓类叶片细胞叶绿体形态与分布,
普宁市属于哪个省哪个市
卧室能装推拉门吗
怎么知道自己的手机是移动版还是联通版
羊奶花是什么;'
推荐资讯
三亚结婚彩礼多少钱 结婚彩礼嫁妆大解析
地下车库,摩托天天从这个地方骑上来。这个角
以纯有没有童装
大众CC自动挡d1d2d3d4d5
杭州工伤十级赔偿标准怎么算该怎么赔付
几何造型的顶点法线向量是个什么东西?(我只
哇噢噢噢噢噢爱我的骨的太木是什么歌
姚浅这个名字怎么样
男生身高170,163的女生能接受吗?
毛衣掉颜色怎么办
若四次测量一本书的宽度记录为:12.38cm,12.
(77.7+4.2)÷0.7
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?