Как скопировать содержимое папки в корень диска с помощью PowerShell?

Анонимные
2022-10-31T18:20:18+00:00

Допустим у нас есть папка, в которой могут быть какие угодно файлы и папки, нужно с помощью PowerShell скопировать их в корень диска.

Например, когда нам нужно скопировать конкретную папку в корень диска мы пишем:

Copy-Item -Path "C:\Share\Folder" -Destination "D:\Folder" -Recurse

То логично подумать, что если мы хотим скопировать содержимое папки в корень диска, то нужно вбить следующее:

Copy-Item -Path "C:\Share\Folder" -Destination "D:" -Recurse

Но не тут то было, результатом мы получаем папку Folder на диске D. Тот же результат нас ждёт, если набрать без слеша:

Copy-Item -Path "C:\Share\Folder" -Destination "D:" -Recurse

а если попытаться таким образом скопировать в корень системного диска, то целевая папка отправится в текущую папку (по умолчанию в папку пользователя C:\Users\User\ если вы не сменили перед этим директорию в командной строке).

Сокращённая форма:

cpi "C:\Share\Folder" "C:" -Recurse

Ведёт себя идентично.

Windows для дома | Windows 10 | Файлы, папки и хранилище

Заблокированный вопрос. Этот вопрос был перенесен из сообщества службы поддержки Майкрософт. Вы можете проголосовать о его полезности, но не можете добавлять комментарии или ответы, а также подписаться на этот вопрос.

Комментариев: 0 Без комментариев

Ответы: 10

Сортировать по: Наиболее полезные
  1. Igor Leyko 112.4K Баллы репутации Независимый помощник
    2022-11-03T15:58:28+00:00

    Что поделать, все мы люди, ничто человеческое нам не чуждо. И когда Вы с первого же сообщения настроились на негативную оценку моих попыток помочь, доброжелательность по отношению к Вам, увы, куда-то пропала.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  2. Анонимные
    2022-11-03T10:06:13+00:00

    Неожиданный ответ об успешном копировании меня удивил сперва, и сейчас понял, что я в прошлый раз не заметил звёздочку в конце пути в первых кавычках, от чего в моих попытках результат был очевидно иной.

    То есть для копирования в корень диска, команда должна выглядеть следующим образом:

    Copy-Item -Path "C:\Share\Folder\*" -Destination "D:" -Recurse

    Виной была моя невнимательность при прочтении мануала. Если меня спросят от том как это сделать, прямо укажу на звёздочку, не стану отправлять человека в мануал, в который он наверняка заглядывал.

    Ведь дело в ошибочных действиях человека, а не в его намерениях.

    Спасибо, что отправили в мануал...

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  3. Igor Leyko 112.4K Баллы репутации Независимый помощник
    2022-11-02T23:45:00+00:00

    Второй пример - копирование всех файлов из каталога, третий - копирование каталога целиком. Поэтому синтаксис команды во втором и третьем примерах разный.

    И да, я попробовал синтаксис второго примера. Сработало, содержимое каталога было скопировано в корневой каталог диска D:.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  4. Анонимные
    2022-11-02T22:45:06+00:00

    Я прекрасно понимаю куда я пишу и кто мне отвечает, однако Вы сами зачем-то возлагаете на себя обязательство "...и я сделаю всё возможное, чтобы помочь вам" возможно не стоит разбрасываться подобными обещаниями.

    Я внимательно прочёл текст примеров. И второй пример, и третий делает следующее действие: копирует содержимое указанного каталога в другой указанный каталог, во втором примере из папки Logfiles в папку Drawings, в третьем из папки Logfiles в папку Logs. Одинаковое действие в обоих случаях целевой каталог указан во вторых кавычках. Однако если указать целевым каталогом корень диска, то он ведёт себя иначе - создаёт каталог, которого я не указывал в целевом пути.

    Если Вы не попробуете это выполнить сами, то Вы попусту тратите своё время. Благодарю за понимание.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  5. Igor Leyko 112.4K Баллы репутации Независимый помощник
    2022-11-02T17:14:04+00:00

    Извините, но здесь отвечают не работники "Майкрософт", а другие пользователи, за счет своего свободного времени и так, как сами считают нужным. Никаких обязательств перед Вами у нас нет.

    Подсказка: пожалуйста, посмотрите внимательнее на текст команды в примере 2. А потом сравните его с текстом в примере 3. Потом посмотрите на названия этих примеров, чтобы понять, почему эти примеры - разные. Заранее спасибо за понимание.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев