我需要将(源)文件夹内的单个文本文件复制到另一个父文件夹的所有(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"
在沐浴文件中