如何批量复制.csv后缀文件并保留原有目录层级到新路径
按原目录层级复制所有CSV文件的实现方案
以下提供不同系统环境下可直接运行的实现方案:
Windows 环境
方法1:PowerShell 命令(适配所有Windows 10/11及以上版本)
# 遍历源路径下所有CSV文件 Get-ChildItem -Path "C:\" -Filter "*.csv" -Recurse | ForEach-Object { # 生成对应目标路径 $targetPath = $_.FullName -replace '^C:\\', 'D:\' # 自动创建不存在的目标文件夹 New-Item -ItemType Directory -Path (Split-Path $targetPath) -Force | Out-Null # 复制文件到目标路径 Copy-Item -Path $_.FullName -Destination $targetPath -Force }
- 可调整参数说明:
- 替换
-Path "C:\"的路径即可修改源根目录 - 替换
-replace '^C:\\', 'D:\'中的C:\\为源根目录前缀、D:\为目标根目录前缀即可适配自定义路径 - 去掉
-Force参数可避免覆盖目标路径下的同名文件
- 替换
方法2:Robocopy 命令(CMD/PowerShell均可直接运行)
robocopy C:\ D:\ *.csv /S
- 参数说明:
/S表示复制子目录但不复制空目录,命令会自动过滤非CSV后缀的文件,自动创建不存在的目标目录。
Linux/macOS 环境
直接运行rsync命令即可:
rsync -av --include='*/' --include='*.csv' --exclude='*' /your/source/path/ /your/target/path/
- 替换命令中的
/your/source/path/为源根目录、/your/target/path/为目标根目录即可使用。
内容的提问来源于stack exchange,提问作者vandu
相关产品推荐
相关产品推荐

