Batch file 批处理-基于最后2个字符复制文件夹
我在网上搜索过,找不到解决办法,或者我无法使他们适应我的问题。 我希望batch仅当任何子文件夹的最后两个字符为14时才从文件夹TEMP(几千个子文件夹)复制子文件夹。对于目录名,您需要一些字符串操作Batch file 批处理-基于最后2个字符复制文件夹,batch-file,Batch File,我在网上搜索过,找不到解决办法,或者我无法使他们适应我的问题。 我希望batch仅当任何子文件夹的最后两个字符为14时才从文件夹TEMP(几千个子文件夹)复制子文件夹。对于目录名,您需要一些字符串操作 for /d %%f in ("%temp%\*14") do ( md "c:\somewhere\%%~nxf" > nul 2>nul xcopy "%%~ff" "c:\somewhere\%%~nxf" /e /y ) @echo off setlocal
for /d %%f in ("%temp%\*14") do (
md "c:\somewhere\%%~nxf" > nul 2>nul
xcopy "%%~ff" "c:\somewhere\%%~nxf" /e /y
)
@echo off
setlocal EnableDelayedExpansion
for /d %%d in (c:\temp\*.*) do (
set path=%%d
if !path:~-2! equ 14 (
echo directory is: %%d
rem copy %%d .... etc
)
)
它起作用了。非常感谢你。是否可以添加行以仅复制每个文件夹中名为MATIKGL.dbf和PROMGL.dbf的文件,这些文件夹将被复制到新创建的文件夹中(不是所有文件)。TEMP中的每个子文件夹都有这两个文件(以及其他文件)。@JovicaBozic,在for循环中,将xcopy行替换为
xcopy“%%~ff\matikgl.dbf”c:\somewhere\%%~nxf”/e/y
,并在第二个文件的行中添加一个等效的行。