Как скопировать файл и создать каталог, содержащий его с помощью PowerShell?

#powershell

#powershell

Вопрос:

У меня есть схема, состоящая из 3 строк, это пути к файлам для их копирования:

  • Конфигурации/config1.json
  • Конфигурации/config2.json
  • Конфигурации/config3.json

Инструкция, которую я использую для копирования файлов, следующая:

 Foreach ($i in $changes) { Copy-Item $i "C:file" -Recurse -Container }
  

Файлы были успешно скопированы. Мой вопрос в том, как автоматически создать каталог Configurations/ внутри file/ и файлы внутри Configurations/ .

Ответ №1:

Вы можете использовать to New-Item для создания каталогов / файлов

 $changes | foreach-object {
    # remove file name from path
    $pathToDir = $_.Substring($_.Length - ($_ -split "/")[-1].Length)
    
    New-Item -ItemType Directory -Force -Path $pathToDir
    
    # I'm not sure if you are trying to create empty files to copy from or if the files 
    # you are creating are copies, but below is where your would create/copy the files, if 
    # you clarify your question, I can update the code below to something relevant
    
    # your code
    Copy-Item $_ "C:file" -Recurse -Container
}

  

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

1. Я протестировал код, в результате он скопировал 2 файла в каталог, когда их должно быть 3. Я не знаю, какие изменения я должен внести, чтобы все 3 могли быть скопированы в один и тот же каталог. Спасибо за сотрудничество.

2. Это кажется странной проблемой, не могли бы вы обновить вопрос с помощью имеющегося у вас кода.