【发布时间】:2019-08-05 09:49:14
【问题描述】:
我正在尝试在批处理脚本中运行一个命令来解析一行的第四个单词。
此命令在命令行上运行良好,但在脚本中运行时会出错。错误状态:
此时不应跳过
db2cmd -i -c FOR /F "usebackq skip=3 tokens=4" %%G IN ("aliasname.txt") DO DB2 UNCATALOG SYSTEM DATABASE %%G
你能检查一下我在这里做错了什么吗?
【问题讨论】:
-
但是这个命令在同一个批处理文件中运行良好: db2cmd -i -c FOR /F "usebackq" %%i IN (
DB2 LIST SYSTEM ODBC DATA SOURCES) DO DB2 UNCATALOG SYSTEM ODBC DATA SOURCE %%i -
windows 的前缀是否相同?我看到一个错误,说该命令无法识别:(
-
我假设,当
For命令被传递给db2cmd时,它需要被适当地引用。这看起来像通过时,它看到=字符有问题。您可能需要在双引号中传递整个命令,并可能同时转义内部命令。 -
我要逃避所有内部的吗?可以举个例子吗?
-
Aastha Dadal,请自行尝试有无内部转义,看看会发生什么。我假设最可能的转义方法是使用反斜杠,即
\",因此尝试每种方法的时间不会超过几秒钟。
标签: database windows batch-file scripting db2