скопировать файл с диска F во все папки в C: \ программные файлы - PullRequest
0 голосов
/ 02 июня 2018

Я читал много материалов на этом сайте, и я не могу найти ответ на свои вопросы ... к сути:

Мне нужно скопировать 1 файл во все папкив C:\program files dir, однако я пытаюсь найти способ, которым мне не нужно указывать полный путь ... для грубого примера я могу

REN F:\source\*.bat *.exe

(или .mp3 или .jpg или .vbs и т. д.)

вышеупомянутые команды переименуют все *.bat файлы в *.exe файлы без указания пути

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

Я пробовал %~d0\ и %programfiles%, но мне кажется, что ничего не работает ....

1 Ответ

0 голосов
/ 03 июня 2018

Я до сих пор не полностью понимаю вариант использования для этого, но здесь есть кое-что, что скопирует файл в каждый подкаталог под каталогом «Program Files» пользователя.Убедившись, что ожидаемые копии будут выполнены, удалите -WhatIf из командлета Copy-Item.

Get-ChildItem -Directory -Path $Env:ProgramFiles |
    ForEach-Object {
        Copy-Item -Path 'C:\src\t t t.txt' -Destination $_.FullName -WhatIf
    }

Если необходимо запустить его из оболочки cmd.exe, поместите код вышев файл с именем с расширением .ps1 и запустите:

powershell -NoProfile -File copyit.ps1

Примечания:

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

Возможны проблемы с разрешением при записи в эти каталоги.Попробуйте использовать Run as Administrator.

Да, конечно, есть способы сценария .bat файла для этого.Будущее направление Microsoft - PowerShell.Может быть, теперь начни это делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...