Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何获取特定文件夹中的文件名并将文件名与一些字符连接起来_Batch File_Cmd - Fatal编程技术网

Batch file 如何获取特定文件夹中的文件名并将文件名与一些字符连接起来

Batch file 如何获取特定文件夹中的文件名并将文件名与一些字符连接起来,batch-file,cmd,Batch File,Cmd,我正在尝试编写一个批处理文件脚本,该脚本将创建一个.sql文件并编写我想要的内容,以下是我正在尝试的逻辑,我们需要整合每个国家的所有.sql脚本并创建一个主.sql文件,该文件将调用所有其他.sql文件,我们将向DBA团队提供这些文件,他们将运行主文件,而不是运行单个文件 我已经创建了脚本,该脚本将创建.sql文件和几个带有@echo命令的基本命令。我还能够列出特定文件夹中的文件,但我无法循环连接前缀和后缀处只有几个字符的文件名 下面是我尝试的代码 @echo off b

我正在尝试编写一个批处理文件脚本,该脚本将创建一个.sql文件并编写我想要的内容,以下是我正在尝试的逻辑,我们需要整合每个国家的所有.sql脚本并创建一个主.sql文件,该文件将调用所有其他.sql文件,我们将向DBA团队提供这些文件,他们将运行主文件,而不是运行单个文件

我已经创建了脚本,该脚本将创建.sql文件和几个带有@echo命令的基本命令。我还能够列出特定文件夹中的文件,但我无法循环连接前缀和后缀处只有几个字符的文件名

下面是我尝试的代码

    @echo off
        break>"C:\Gopi_Kishan\DBBR\Daily_attachments\ausqascript_20190708\dblank.sql"

    cd C:\Gopi_Kishan\DBBR\Daily_attachments\ausqascript_20190708

    @echo Set scan off;>>dblank.sql
    @echo alter session set current_schema="SV2AUPR";>>dblank.sql

    rem dir /b "C:\Gopi_Kishan\DBBR\Daily_attachments\ausqascript_20190708\" >>dblank.sql
我想输出如下方式

Set scan off;
alter session set current_schema="SV2AUPR";

@@BLUE-CR616-APPLICATION_NO_CHANGE.sql;
SHOW ERROR;

@@CR_deployment_script.sql;
SHOW ERROR;

@@Addroledetails.sql;
SHOW ERROR;

@@SV2_IBIS_MOVE_DATA_PR_ALL_DB.sql;
SHOW ERROR;
我想在文件名前面加上“@@”和“;”在文件名的末尾 有人能帮我吗

(
@for /f "delims=" %%a in ('dir /a-d /b "C:\Gopi_Kishan\DBBR\Daily_attachments\ausqascript_20190708\*.sql"') do @echo @@%%a;&@echo show_error;
)>>dblank.sql
应该按照你的要求去做。
for
命令周围的括号允许通过
>
(附加到文件)重定向输出

为了
*.sql
(每个
.sql
文件)以基本形式将其名称命名为
%%a
<代码>/a-d表示没有目录名匹配。然后
echo
this及其前缀和后缀后跟
show\u错误行;已重定向以附加到文件


请注意,如果在脚本开始时按正常方式执行
@echo off
,则不需要在每个批处理命令之前执行
@

@KishanM-当有适合您的答案时,请选中复选标记以向其他人指示答案正确。这就是它的工作原理。