Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 在复制到.bat文件后向文件名添加增量数字_Batch File - Fatal编程技术网

Batch file 在复制到.bat文件后向文件名添加增量数字

Batch file 在复制到.bat文件后向文件名添加增量数字,batch-file,Batch File,我正在尝试创建一个.bat文件,该文件将在三个单独的文件夹中复制以“XX”结尾的所有文件。我希望它能将它们全部放在一个文件夹中,但在名称的末尾添加一个递增的数字(这样就不会有重复的文件名)。在阅读了我原来问题的答案后,我又写了一遍。但它仍然没有复制所有内容,因为它会得到重复的文件名 :: The setlocal line should put before the for loop: setlocal EnableDelayedExpansion set _a=0 for /D %%D i

我正在尝试创建一个.bat文件,该文件将在三个单独的文件夹中复制以“XX”结尾的所有文件。我希望它能将它们全部放在一个文件夹中,但在名称的末尾添加一个递增的数字(这样就不会有重复的文件名)。在阅读了我原来问题的答案后,我又写了一遍。但它仍然没有复制所有内容,因为它会得到重复的文件名

:: The setlocal line should put before the for loop:
setlocal EnableDelayedExpansion

set _a=0

for /D %%D in ("R:\SQL QUERIES\Mark\text append testing\*") do (

::Same as set /a _a=_a+1
SET /A _a+=1
echo !_a!

xcopy /Y /S "%%~D\*XX*" "R:\SQL QUERIES\Mark\conversion_scripts"

ren "R:\SQL QUERIES\Mark\conversion_scripts\*XX*" *!_a!
)
pause
这项工作:

:: The setlocal line should put before the for loop:
setlocal EnableDelayedExpansion

set _a=0

for /D %%D in ("R:\SQL QUERIES\Mark\text append testing\*") do (

::Same as set /a _a=_a+1
SET /A _a+=1
echo !_a!

xcopy /Y /S "%%~D\*XX*" "R:\SQL QUERIES\Mark\conversion_scripts"

ren "R:\SQL QUERIES\Mark\conversion_scripts\*XX" *X!_a!
)

第一行应该是
Set“\u a=0”
,循环中的
Set
应该是
Set/a\u a+=1
,您的
echo
ren
命令应该在运行时使用延迟扩展或伪
Call
语句进行扩展,例如
Call echo(%\u a%%
,虽然我确信这一行不是必需的。此处重复:,。您所说的»可能重复,以“XX”«结尾?基本名称(如
some_name XX.txt
)或扩展名(
some_name.XX
)?基本名称。有趣的是,它们没有扩展名。它们只是type=file。我在笔记本中打开它们,但它们没有预定义的应用程序可运行。虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住请记住,你是在为将来的读者回答这个问题,而不仅仅是现在的提问者。请在回答中添加解释,并说明适用的限制和假设。