繁体   English   中英

在Windows批处理文件中设置和测试变量

[英]Setting and testing a variable in windows batch file

在Windows 7上创建批处理实用程序脚本以调用可执行文件。 除了我的第二条IF语句外,它实际上是有效的。 尝试了许多不同的事情。

我的意图是为每个命令行参数调用“ DoSomething”。 那部分有效! 仅当命令行上未指定任何参数时,第二条IF语句才会显示帮助消息。 好吧,这就是目的。 那不是它在做什么。

@ECHO OFF

:Start
SET a_file_was_processed="false"
IF "%1" NEQ "" (
  SET a_file_was_processed="true"
  ECHO Extracting table %1 from database.
  DoSomething word%1 > output_%1.txt
  ECHO Finished extract table to file output_%1.txt
SHIFT
GOTO Start
)

if a_file_was_processed NEQ "true" (
  ECHO Invoke this script as: Extract_From_sdf  table_name1   table_name2
)

有想法吗?

尝试了这些更改,并且似乎可以正常工作

@ECHO OFF

SET a_file_was_processed="false"
:Start
IF "%1" NEQ "" (
  SET a_file_was_processed="true"
  ECHO Extracting table %1 from database.
  rem --- DoSomething word%1 > output_%1.txt
  ECHO Finished extract table to file output_%1.txt
SHIFT
GOTO Start
)

if %a_file_was_processed% NEQ "true" (
  ECHO Invoke this script as: Extract_From_sdf  table_name1   table_name2
)

第一个明显的错误是标签:Start,设置为false之前。 然后,要引用变量的值,需要将变量用%括起来

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM