📌  相关文章
📜  将文件放在 powershell 中的每个子文件夹中 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:37.704000             🧑  作者: Mango

将文件放在 powershell 中的每个子文件夹中

如果你想将一个文件(或一系列文件)复制到一个文件夹的所有子文件夹中,可以使用 PowerShell 脚本来自动化这个过程。

获取要复制的文件

首先,你需要获取要复制的文件。可以使用 Get-ChildItem 命令获取文件,例如:

$filesToCopy = Get-ChildItem -Path "C:\Path\To\Files" -Recurse -Include "*.txt", "*.docx"

上面的命令将获取 C:\Path\To\Files 文件夹中所有的 .txt.docx 文件。

获取目标文件夹

接下来,你需要获取要将文件复制到的目标文件夹。可以使用 Get-ChildItem 命令获取文件夹,例如:

$targetFolders = Get-ChildItem -Path "C:\Path\To\Target\Folders" -Directory

上面的命令将获取 C:\Path\To\Target\Folders 文件夹中的所有子文件夹。

复制文件到目标文件夹

将文件复制到每个子文件夹中,可以使用 Copy-Item 命令。可以将这个命令放在一个循环中,对每个目标文件夹都调用一次。

foreach ($folder in $targetFolders) {
    Copy-Item -Path $filesToCopy -Destination $folder.FullName
}

上面这个循环将会将 $filesToCopy 中的所有文件复制到 $targetFolders 中的每个子文件夹中。

完整脚本
$filesToCopy = Get-ChildItem -Path "C:\Path\To\Files" -Recurse -Include "*.txt", "*.docx"
$targetFolders = Get-ChildItem -Path "C:\Path\To\Target\Folders" -Directory

foreach ($folder in $targetFolders) {
    Copy-Item -Path $filesToCopy -Destination $folder.FullName
}

上面这个脚本将会获取 C:\Path\To\Files 文件夹中所有 .txt.docx 文件,并将它们复制到 C:\Path\To\Target\Folders 文件夹中的所有子文件夹中。