我是第一次创建一个bat文件,并且遇到以下问题:当我直接在命令提示符下输入时,我的命令运行正常,但它没有运行我创建的bat文件。脚本是:
@echo off
sqlcmd -S DESKTOP-55JKCD5\SQLEXPRESS -i “C:\Users\Didi\Documents\SQL\test.sql” -o “C:\Users\Didi\Documents\SQL\output.csv” -s”,”
我从cmd收到以下消息:
Sqlcmd:错误:打开或操作文件ôC时出错:\ Users \ Didi \ Documents \ SQL \test.sqlö(原因:文件名,目录名或卷标语法不正确)。
我无法理解什么是错的,只要我在cmd中直接输入时没有任何问题。
我求你的意见,伙计们!蝙蝠文件对我来说是全新的,道歉是在问一个愚蠢的问题。
答案 0 :(得分:1)
不要使用“智能引号”!使用"
- 在正确的编辑器中,而不是文字处理器。
答案 1 :(得分:0)
如果您从 Azure Dev Ops 运行此 exe,如果发布或管道中的步骤定义中有一个新行,您也会遇到此问题。该步骤是多行的,因此很难发现。区别在于:
ServerRoleMembership;ServerRoles;RoleMembership;Permissions" /v:Environment=$(Environment) /Diagnostics:true
/p:ScriptDatabaseOptions=false
和
ServerRoleMembership;ServerRoles;RoleMembership;Permissions" /v:Environment=$(Environment) /Diagnostics:true /p:ScriptDatabaseOptions=false
两者在 Dev Ops 中看起来相同,只有当您将它们复制到记事本时,您才会看到新行