、Windowsのバッチファイルでは、この作品:エラーが発生した変数を使用してバッチファイルでsqlcmd.exeを呼び出す: "予期しない引数"
sqlcmd.exe -b -S xxMySqlServerNamexx -Q "BACKUP DATABASE xxMyDatabaseNamexx TO DISK='d:\data\xxMyDatabaseNamexx.bak' with init, compression"
この場合と同様に:
set vSource_SqlServer="xxMySqlServerNamexx"
sqlcmd.exe -b -S %vSource_SqlServer% -Q "BACKUP DATABASE xxMyDatabaseNamexx TO DISK='d:\data\xxMyDatabaseNamexx.bak' with init, compression"
しかし、この:
をset vSource_SqlServer="xxMySqlServerNamexx"
set vSource_SqlDbName="xxMyDatabaseNamexx"
sqlcmd.exe -b -S %vSource_SqlServer% -Q "BACKUP DATABASE %vSource_SqlDbName% TO DISK='d:\data\xxMyDatabaseNamexx.bak' with init, compression"
は...エラーが発生します。
Sqlcmd: 'xxMyDatabaseNamexx" TO DISK='d:\data\xxMyDatabaseNamexx.bak' with init, compression"': Unexpected argument. Enter '-?' for help.
あなたはそれがxxMyDatabaseNamexx
の代わりに変数%vSource_SqlDbName%
を使用してのどに詰まらされて見ることができるように、この形式でこのを行うための正しい方法はあります私はおそらくPowerShellを使用する必要があります(その分私が意味する、はい私はこのフォームにいくつかの既存のバッチファイルを用意していますが、このフォームで使用する変数に変換する方が良いでしょう。