Windows批处理文件:如何将命令行参数与整数进行比较
Posted
技术标签:
【中文标题】Windows批处理文件:如何将命令行参数与整数进行比较【英文标题】:Windows batch files: how to compare command line argument to an integer 【发布时间】:2013-10-12 22:12:21 【问题描述】:我只是批处理文件编程的新手,我试图在网上找到解决方案,但失败了。 我的批处理文件调用一个 c 程序,将它自己的命令行参数传递给程序,然后执行后续步骤,这些步骤取决于第四个参数(它是一个整数)的值。 如果 %4 等于 3,我想在我的批处理文件中做一个额外的步骤。我已经放置了一些 echo 测试语句。但即使我输入 3 作为第四个参数,也只会打印“testno”。
批处理文件名:p2debug1234.bat
批处理文件代码:
@echo off
@setlocal
p2task1 %1 %2 %3 %4
start mi_viewer %1
start mi_viewer %2
echo %4
echo 3
If ("%4"== "3") (echo testyes) Else (echo testno)
echo testif
命令提示符快照:
H:\ELEC4622\labs\data>p2debug1234 pens_rgb.bmp test.bmp 2 3
3
3
testno
testif
请帮我做一个有效的比较。
最好的问候, 朱莉娅
【问题讨论】:
你真的在使用ms-dos吗?或者你可能使用窗户?如果是这样,那么这与 ms-dos 无关(这是操作系统的名称而不是命令提示符)。 我用的是windows,你是对的。对不起。 我只是一直认为windows只是扩展MS-DOS的软件。我很确定这就是它的开始(从记忆中)。但我想以后版本的 windows 不再是这种情况了。 它是,当你有 Windows 3.11 的时候。但是在 windows 95 之后,shell 已经成为 windows 的一部分,而不是相反。所以你在 18 年前是对的。 【参考方案1】:换行:
If ("%4"== "3") (echo testyes) Else (echo testno)
到:
If "%4"=="3" (echo testyes) Else (echo testno)
【讨论】:
您应该投票和/或接受答案。这就是堆栈溢出的感谢方式。不做这些事情会破坏堆栈溢出的想法。 我不知道该怎么做。我以前从未在这个地方发过帖子以上是关于Windows批处理文件:如何将命令行参数与整数进行比较的主要内容,如果未能解决你的问题,请参考以下文章