Нужна помощь в копировании задачи - PullRequest
0 голосов
/ 11 июля 2019

У меня есть файлы .dll и .sys в папке xyz
xyz
'QcXhciFilter8086 \ QcXhciFilter8086.sys' 'qSarMgr8086 \ qSarMgr.dll' 'qcwlan_wpextwapi8086 \ WapiIhvExt.dll * 100 * * 100 * * 4 * * 4 * * 4 *что-то подобное скопировать в новую папку
new
'QcXhciFilter8086 \ QcXhciFilter8086.sys' 'qSarMgr8086 \ qSarMgr.dll' 'qcwlan_wpextwapi8086 \ WapiIhvExt.dll'

1009*

'Copy-Item -Path $file_path\..\*sys -Destination C:\Users\Path\new\'

Здесь '$ file_path = \ xyz \ QcXhciFilter8086 \ QcXhciFilter8086.sys'

Результат: только файлы .sys.dll копируются непосредственно в «новую» папку.Однако я хочу их под именем водителя.Что-то вроде этого 'new \ QcXhciFilter8086 \ QcXhciFilter8086.sys'

1 Ответ

0 голосов
/ 11 июля 2019

Хорошо, мне кажется, я понимаю, о чем вы просите ...

У вас есть структура папок, подобная этой:

[xyz]

  • QcXhciFilter8086
    • QcXhciFilter8086.sys
  • qSarMgr8086
    • qSarMgr.dll
  • qcwlan_wpextwapi8086
    • WapiIhvExt.dll

И вы хотите, чтобы это копирование в другую папку.Используя это, вы скопируете структуру папки и файлы из папки xyz в новую папку.Это скопирует все, однако.Если вы хотите скопировать только файлы .sys и .dll, вам нужно добавить еще Get-ChildItem в существующий цикл ForeEach-Object, чтобы посмотреть текущий каталог.

Вот мое предлагаемое решение:

$source = "c:\path\to\xyz"
$destination = "c:\path\to\new"

Get-ChildItem -Path $source -Directory | ForEach-Object{
    Copy-Item $_.FullName -Destination $destination -Recurse -Container
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...