我必须复制文件夹中的文件。我根据.txt文件做了副本。问题是,现在我有大约1500个由用户创建的文件夹,他们根据需要重命名它们。所有文件夹的唯一共同点是 id号,它是唯一的随机文本。例如:
1111 folder1
2222-文件夹重要1
3333重要文件夹
我有一个带有id的列表,但是当我运行.bat时,它会复制列表中 和不的所有文件夹和子文件夹,并且不会t复制文件。 这是脚本:
Rem This is a simple log
date /t >> Z:\DES\destination\log.txt
Rem List the current folder were the subfolders are
dir /b "Z:\DES\test\" > dir.txt
Rem Navigate and compare the folders
FOR /F "delims=" %%F IN (lista.txt) DO (
FOR /F "delims=" %%G IN (dir.txt) DO (
IF %%F == %%G (xcopy /I /E "Z:\DES\test\%%G" "Z:\DES\destination\%%G" >> Z:\DES\destination\log.txt)
)
)
Rem comparing the variables
REM If %%F == %%G
尝试使用通配符但没有成功。
文件列表包含id:
1111
2222
3333
即可。 。 。
我在列表中尝试了以下内容但没有成功:
1111 *
“1111”
1111%
请帮忙。抱歉我的英语不好。
答案 0 :(得分:0)
您不能将if
与通配符一起使用。更好的方法:
echo %%G |findstr "^%%F" >nul && copy...
回显文件名(%%G
),检查它是否以您的ID号码(^
)开始(%%F
)(将输出重定向到nul
以保持屏幕清晰)如果是(&&
),请复制它。