命令行命令:!!目录不产生输出

SQLCMD :!! Dir producing no output

我在 Windows 7:

的 cmd 提示符下启动了 SQLCMD
C:\>sqlcmd -S (localdb)\MSSQLLocalDB
1> :!! dir
2> go
1> quit

但是我在控制台上看不到任何输出。认为这是一个菜鸟错误。我做错了什么?

每次在 mysqlcmd 中手动输入命令时,您需要在一行后面加上 go,这样它会检测到命令结束并开始执行。很可能你会得到一个错误。

也许 (localdb)\MSSQLLocalDB 在无权读取系统驱动器内容的帐户下运行?

否则你会看到类似于:

 Volume in drive C is Windows
 Volume Serial Number is A866-F891

 Directory of 

08-Feb-19  09:30    <DIR>          .
08-Feb-19  09:30    <DIR>          ..
15-Sep-18  10:06    <DIR>          0409
23-Aug-16  14:12            21,007 07010000000000000000000000000000.tlbin
17-Jan-19  09:55    <DIR>          1033
15-Sep-18  08:29             2,151 12520437.cpx
15-Sep-18  08:29             2,233 12520850.cpx
15-Sep-18  08:29               232 @AppHelpToast.png
...

据我所知,该实用程序几乎有一个错误。使用 Process Explorer 观察它表明,当尝试 运行 一个命令时,它通过将 "C:\WINDOWS\system32\cmd.exe" 附加到任何工作目录来创建到 cmd.exe 的无效路径。

因此,如果您从 C:\ 执行 sqlcmd,它将尝试 运行 C:\"C:\WINDOWS\system32\cmd.exe" 由于路径无效而失败。