【发布时间】:2012-09-04 10:56:24
【问题描述】:
我有一个 SQL 过程,它调用命令 shell 将 SQL 转储写入文件。以这个编辑过的文件为例:
VALUES(
@SomeVar
,1
)
程序调用:
echo VALUES(>> C:\somefile.sql
echo @SomeVar>> C:\somefile.sql
echo ,1>> C:\somefile.sql
echo )>> C:\somefile.sql
这很好用,除了,1 行。如果你在CMD中运行echo ,1>> C:\somefile.sql,你会看到C:\somefile.sql只包含,
我的理论是echo 认为它可以接受多个参数。
如果将命令修改为echo ,1blah>> C:\somefile.sql,就可以完美运行了。
我可以修改我的程序以检查该行是否包含 , 后跟一个数字,而不是任何内容,然后在数字前添加 ^ 以将其转义。不过这有点痛苦。
另外,echo 1>> C:\somefile.sql 写 Echo is ON
有没有办法在 CMD 中 echo 一个文字字符串?将字符串括在" " 中会输出" 标记。或者你有什么其他的解决办法吗?
【问题讨论】:
标签: windows command-line cmd command-prompt xp-cmdshell