使用命令行复制许多文件的文本并使用所有文本创建新文本

时间:2013-11-22 20:10:51

标签: stored-procedures text command-line

因此,作为一个新的初级开发人员职位的早期任务,我被要求通过并更新各种存储过程中的数千个旧参数数据类型。我做了所有更新并将它们加载到团队服务器,现在必须将它们推送到我们的SQL服务器中,以便它们进行编译。

昨晚我的老板不知道如何将修改过的procs拉到目录中,然后使用命令行复制所有文本并创建一个新的txt文件,该文件可以在SQL中打开,基本上以批处理模式运行批量更新数据库中。

我几乎没有命令行经验,有人可以给我一个快速概述。

我的伪代码:

在我的UpdatedProcs文件夹中打开命令行窗口,从同一目录中的所有文件复制文本,创建包含所有文本的新文本文件(新文件的名称无关紧要)。然后在SQL中打开,最后一次查找错误,最后运行。

这看起来很简单,但我对命令行一无所知。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用for /f循环。您甚至不需要首先从子目录中复制文件。这会将Temp子文件夹(C:\Test\Temp)中的所有文本文件附加到当前文件夹(summary.log)中名为C:\Test的文件中:

c:\Test>for /f "tokens=*" %a in ("dir temp\*.txt") do type %a >> .\summary.log

summary.log现在包含单个文件中文本文件的所有内容。您可以使用记事本或任何其他文本编辑器打开它。

要从批处理文件中运行,只需在两个位置将%a更改为%%a

c:\Test>copy con mergefiles.bat
for /f "tokens=*" %%a in ("dir temp\*.txt") do type %%a >> .\summary.log

F6 Ctrl + Z

c:\Temp>mergefiles

输入

c:\Temp>notepad summary.log

输入