Как скопировать папку x раз в PowerShell?

#powershell #copy

#powershell #Копировать

Вопрос:

У меня есть этот маленький скрипт, который просто копирует папку прямо сейчас:

 $NumberOfProfiles = Read-Host "Enter the number of Portable Firefox profiles You need:"
$WhereToWrite = $Source 
$Source = Get-Location 
$FolderName = "Apple"
$SourceDirectory = "$Source$Foldername*"
Copy-Item $SourceDirectory $WhereToWrite -Recurse
  

Но мне нужно, чтобы она копировала x раз, что определено в $NumberOfProfiles with Read-Host . Кроме того, по какой-то причине он просто копирует содержимое самой папки, но не основной папки.

Большое спасибо, если кто-нибудь может протянуть новичку руку помощи.

Комментарии:

1. Как вы хотите перечислить последовательные копии? Если вы копируете в одно и то же место назначения каждый раз, это будет просто перезаписывать одни и те же файлы снова и снова.

2. Просто поместите цикл for вокруг copy-item команды и повторите цикл $numberofprofiles несколько раз. как сказал @TheMadTechnician. если вы не назовете каждую папку по-разному, она все равно просто перезапишет себя. используйте -container в copy-item команде, чтобы сохранить структуру папок copy-item $sourcedir $Dest -Recurse -container

3. Спасибо за все ответы! -container сделал трюк для структуры папок. Но при копировании я бы хотел иметь разные папки и не перезаписывать себя. Например, $NumberOfProfiles = 10, и это скопировало бы 10 папок с именами Apple1, Apple2 … Apple10. Есть идеи? Спасибо 🙂

Ответ №1:

Что-то подобное даст вам apple1, apple2…Applel0

 $NumberOfProfiles = Read-Host "Enter the number of Portable Firefox profiles You need:"
$Source = "C:source"
$WhereToWrite = "C:DestApple"
for($i=1;$i -le $NumberOfProfiles;$i  ){
$dest = "$WhereToWrite$i"
Copy-Item $Source $dest -Recurse
}