用于从多个文件夹复制名为“dat”的文件的 Powershell 脚本

Dav*_*vid 4 powershell windows-7

我正在尝试复制一个名为“dat”的文件。该文件没有扩展名。问题是在父文件夹“个人”下我有 500 个文件夹,所有这 500 个文件夹都有“dat”文件。我有兴趣复制所有这些“dat”文件并将它们放在我的目标目录中。

因此,当我将这些“dat”文件粘贴到目标目录中时,我希望将它们命名如下:

“Folder_they_were_residing_in.dat”

因此,所有 dat 文件都将重命名为它们所在的文件夹名称,扩展名为“dat”。

这可能吗?

jsc*_*ott 5

配置$source$dest根据需要包含尾部斜杠。

$source = "H:\personal\"
$dest   = "H:\archive\"

Get-ChildItem -Recurse -Path $source |
    Where-Object { $_.PsIsContainer -eq $false -and $_.Name -eq "dat" } |
        ForEach-Object { $_.CopyTo( $( $dest + $_.Directory.Name + ".dat" ), $true ) }
Run Code Online (Sandbox Code Playgroud)