如何批量复制D盘及子文件夹中首5位为数字的文件至Test2?
批量复制D盘下文件名前5位为数字的所有文件到Test2文件夹
PowerShell 解决方案(适用于PowerShell ISE)
你之前用的是CMD专属命令,在PowerShell环境下不兼容,而且原命令无法递归遍历子目录。用下面的PowerShell命令可以直接实现需求:
# 先确保目标文件夹存在,不存在则自动创建 New-Item -Path D:\Test2 -ItemType Directory -Force # 递归搜索并复制符合条件的文件 Get-ChildItem -Path D:\ -Recurse -File | Where-Object { $_.Name -match '^\d{5}' } | Copy-Item -Destination D:\Test2 -Force
参数说明:
-Recurse:遍历D盘根目录及所有嵌套子文件夹-File:仅处理文件,跳过文件夹对象^\d{5}:正则表达式,精准匹配文件名开头5位为数字的文件-Force:强制覆盖目标文件夹中的同名文件,无需手动确认
CMD 命令行解决方案
如果习惯用CMD环境,用带递归参数的FOR命令即可:
FOR /R D:\ %F IN ([0-9][0-9][0-9][0-9][0-9]*.*) DO COPY "%F" D:\Test2\ /Y
注意事项:
- 若在批处理脚本(.bat)中执行,需将
%F改为%%F /Y参数会自动覆盖同名文件,省去交互确认步骤
内容的提问来源于stack exchange,提问作者rimi
相关产品推荐
相关产品推荐

