我需要一个DOS命令或一个批处理(.bat)文件,我可以执行它来运行目录及其子目录中的所有* .sql脚本。解决方案是什么?DOS命令执行一个目录和子目录中的所有SQL脚本
回答
下面将让你在命令行中,将打印在当前目录下的所有SQL文件和所有子目录的名称开始
for /r %f in (*.sql) do echo %f
运行。
然后用sqlcmd <connection args> -i%f
代替echo %f
来执行脚本。
希望这会有所帮助。
for %f in ("c:\path\to\dir\*.sql") do sqlcmd -S [SERVER_NAME] -d [DATABASE_NAME] -i "%f" -b
在这里,你去。该批处理文件将执行目录及其子目录中的所有sql文件。它还会创建一个带有结果的output.txt文件,以便您可以查看错误和其他内容。关于批处理文件的一些注意事项:
- [YourDatabase]是要针对脚本执行的数据库的名称。
- [YourPath]是保存所有脚本的路径。
- [YOURSERVERNAME \将YourInstanceName]是SQL服务器名和实例名,用“\”
- 你要替换“=”后面的文本与什么是适合您的服务器 每个变量分离
- 一定不要把空间围绕“=”
- 不要把周围[YourPath]任何报价
确认[YourPath]有一个“\”末
集数据库= [YourDatabase]
SET ScriptsPath = [YourPath]
SET ServerInstance = [YOURSERVERNAME \将YourInstanceName]
IF EXIST “%ScriptsPath%output.txt的” 删除 “%ScriptsPath%output.txt的”
类型NUL> “%ScriptsPath%output.txt的”
FOR/R “%ScriptsPath%” %% G IN(* .SQL)DO(
SQLCMD -d%数据库%-S%ServerInstance%-i“% %G“-o”%% G。txt“
echo ............................................ .......................................... >>“%ScriptsPath%输出。 TXT”
回声执行: “%% G” >> “%ScriptsPath%output.txt的”
回波..................... .................................................. .............. >>“%ScriptsPath%output.txt”
复制“%ScriptsPath%output.txt”+“%% G.txt”“%ScriptsPath%输出.txt“
del”%% G.txt“
)
在'SET's之后添加以下行确保有一个尾部反斜杠:'IF NOT%ScriptsPath:〜-1 %==“\”SET ScriptsPath =%ScriptsPath%\' – 2012-12-20 17:02:39
- 1. shell脚本遍历目录的子目录并执行命令
- 2. Bash脚本对目录中的所有文件执行命令
- 3. 在所有直接子目录中执行命令
- 4. 如何拒绝所有子目录中的脚本执行?
- 5. 在每个子目录中运行命令的Linux Shell脚本
- 6. 命令执行目录
- 7. shell-script -cd在一个目录的所有子目录中,对它们的文件执行命令
- 8. 在多个目录中执行命令
- 9. 从bash shell脚本中的glob目录中的命令行执行命令
- 10. 通过其他目录中的bash脚本执行git命令
- 11. 使用Windows递归执行所有目录中的命令
- 12. 在目录中的所有文件上执行windows cmd命令
- 13. 列出目录+子目录中的所有文件和目录
- 14. 批处理脚本找到一个文件所在的目录,将位于该目录和子目录中的所有文件复制到另一个目录
- 15. 我想其中一个脚本文件中所有子目录
- 16. bash脚本改变目录并执行带参数的命令
- 17. find命令:列表中的每个目录和子目录,除了git的或.hg目录及子目录
- 18. 获得从目录中的所有文件和所有子目录除了一个子目录
- 19. DOS命令来删除特定目录
- 20. 在目录中执行SQL脚本的批处理脚本
- 21. 在DOS下的子目录中重命名一个文件
- 22. 脚本蝙蝠删除所有文件和目录中的所有目录c:\
- 23. DOS批处理命令将最后一个子目录中的所有文件移动到一个水平
- 24. Linux命令从所有目录和子目录中获取文件的所有文件,大小和路径
- 25. 所有文件运行SPTK命令在一个目录
- 26. bash for循环所有目录并执行内部命令
- 27. Windows脚本编写FOR命令来重命名一个目录
- 28. 如何执行所有的PL/SQL目录中的文件(install_db脚本)
- 29. 删除所有,但最后5个目录与shell脚本和find命令
- 30. 如何重命名DOS下当前目录下的所有隐藏目录?
一个向下票没有对此有何评论?怎么会这样?说真的,如果你不喜欢我的回答,或者有什么问题,你能告诉我吗?我们都在这里学习。 – 2011-07-11 08:33:43
它对我不起作用 – ob213 2012-05-17 03:47:15
尝试使用不带空格的目录和文件名。 (它可能很方便http://www.den4b.com/?x=downloads&product=renamer) – mbmihura 2013-01-18 17:22:31