将单个文件复制到目标根文件夹的子文件夹中

将单个文件复制到目标根文件夹的子文件夹中

我需要将(源)文件夹内的单个文本文件复制到另一个父文件夹的所有(480)个子文件夹中。

为了简单起见(稍后我将修改正确的路径),当我尝试弄清楚如何做到这一点时,我正在使用

C:\000\Test.txt 作为要复制的文件。

目标父(根)文件夹为 C:\00,其子文件夹为 Test 1 Test 2 Test 3

如果是通过 .bat 文件、PowerShell 还是 CMD 脚本,我没有偏好。

在过去的两个晚上,我尝试了谷歌提供的看似无穷无尽的解决方案,但都无济于事,而且来自此处帖子的看似有希望的 bat 文件也无济于事。

@echo off && setlocal enabledelayedexpansion  

cd /d "C:\00"                   // replace to full path to your root directory 
set "_source=C:\000\Test.txt"  // replace to full path to you file your file .nomedia

for /d /r %%i in (*)do tree /a "%%~fi"|find "\-" >nul||copy "!_source!" "%%~fi\"

endlocal 

我不知道如何完成这项在纸面上看似简单的任务。

如有任何帮助我将非常感激。

答案1

以下是使用以下示例 PowerShell 脚本foreach复制源文件(测试.txt)到目录:\00父目录。

# Set the source file path
$srcFile = "C:\000\Test.txt"

# Set the destination parent folder path
$destParent = "C:\00"

# Get a list of all subfolders in the destination parent folder
$subfolders = Get-ChildItem -Path $destParent -Directory

# Loop through each subfolder and copy the file
foreach ($subfolder in $subfolders) {
    $destPath = Join-Path -Path $subfolder.FullName -ChildPath "Test.txt"
    Copy-Item -Path $srcFile -Destination $destPath -Force
    Write-Host "File copied to $($subfolder.Name)"
}

Write-Host "Copy operation completed."

答案2

  • 在批处理文件中将是:
echo off 

cd /d "C:\00"                   // replace to full path to your root directory 
set "_source=C:\000\Test.txt"   // replace to full path to you file your file

for /d /r %%i in (*)do >nul copy /y "%_source%" "%%~fnxi" && echo\File copied to "%%~fnxi"

在沐浴文件中

相关内容