将不同目录中的多个文件移动到新文件夹中

将不同目录中的多个文件移动到新文件夹中

我在将多个文件从不同文件夹移动到一个文件夹时遇到问题。

我的所有文件都以 结尾.las并位于如下路径中:e:\LiDAR\%%%%\LIDAR*\,其中%%%%是一系列 4 个数字,如 0950,并且LiDAR*是包含文件的所有不同文件夹名称的开头.las

以下是其中一个文件路径的示例.las

E:\LiDAR\0950\LIDARHD_1-0_LAZ_PK-0950_6535-2021\Semis_2021_0950_6535_LA93_IGN69.las

我想将所有这些文件移动到我创建的文件夹中,这是它的路径:

E:\LiDAR\Las_files

这是我尝试过的命令行,但它不起作用:

E:\>move e:\LiDAR\%%%%\LIDAR*\*.las e:\LiDAR\Las_files\

如果有人能帮助我我会很高兴:)

答案1

在 Powershell 中尝试此操作:

Get-ChildItem -Path "E:\LiDAR" -Filter *.las -Recurse | Move-Item -Destination "E:\LiDAR\Las_files" -Whatif

这会将所有子文件夹中的每个 .las 文件移动到 las_files 文件夹中。

答案2

您的尝试可以在 Bash 中起作用,但是 Cmd.exe 没有“通用”通配符处理(它是根据具体情况以不同方式完成的movedel,因此您需要使用for并循环遍历每个目录:

for /d %x in (e:\lidar\####\lidar*) do move %x\*.las e:\lidar\las_files\

(请注意,如果将其放入 .bat/.cmd 脚本中,则%x必须写为%%x.)

如果您需要循环遍历编号目录,for那么您将需要第二个(外部)循环。

相关内容