关于批处理的疑难问题

usst12345678 2007-08-29 03:13:33
xxx.bat中包含%1 %2 %3 %4来接受外部参数,当执行xxx.bat %a %b %c %d(为其它软件提供的参数),由于%b可能为空值,因此变成%1=%a %2=%c %3=%d %4=,请问如何解决这个问题?使%1=%a %2= %3=%c %4=%d
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
exocell 2009-02-20
  • 打赏
  • 举报
回复
参数要加引号,不然空值会出错. if "%b"=="%2"
ljc007 2007-08-30
  • 打赏
  • 举报
回复
if "%2" equ "" (
echo one=%1 two=three=%3
) else (
echo one=%1 two=%2 three=%3
)
usst12345678 2007-08-30
  • 打赏
  • 举报
回复
一个批处理如下
echo one=%1 two=%2 three=%3
当我执行xxx.bat 1 "" 3
想显示
one=1 two= three=3
而不是显示
one=1 two="" three=3
应该怎么处理?
usst12345678 2007-08-30
  • 打赏
  • 举报
回复
可是%b为外部参数,批处理文件应该不认识%b吧
ljc007 2007-08-29
  • 打赏
  • 举报
回复
你想让%2为空么?

if "%b" neq "" (
set %2=%b
) else (
set %2=
)

6,871

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧