У нас есть список клиентов в папке "Клиенты" верхнего уровня в файлере. В папке "Клиенты" находятся действительные клиентские папки, некоторые с именным соглашением "client_test", другие "111_1111". Мне нужно отсканировать все подпапки для клиентов, которые будут иметь * _ [0-9], таких как клиент 111_1111, и заменить файл footer.jpg, если он составляет 4903 байта или меньше, новым footer.jpg. В основном, если клиент изменил нижний колонтитул по сравнению с оригиналом, мы хотим оставить его, но если нет, то он хотел бы перезаписать нижний колонтитул новым нижним колонтитулом. Любая помощь высоко ценится!

1 ответ1

0

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

gci c:\Clients\*\footer.jpg |
   ?{($_.directory.name -match ''^\d+-\d+$') -and ($_.length -eq 4904)}

Если это работает, используйте следующее:

gci c:\Clients\*\footer.jpg |
   ?{($_.directory.name -match '^\d+-\d+$') -and ($_.length -eq 4904)} |
       %{copy-item 'c:\NewArtwork\footer.jpg' "$($_.directory)\footer.jpg" -force}
  • gci = Get-ChildItem
  • ? = Где-Объект
  • % = ForEach-Object

Кит

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .