Я пытаюсь сделать скрипт, в котором я копирую файл из какого-то места и сохраняю его в другом. Я использую foreach рекурсивно, чтобы получить все файлы.
Возникает вопрос: как получить сегмент пути и заменить его другой строкой? Я хочу сделать что-то вроде этого:
Скопируйте файлы из
C:\sites\somefolder\folder1\file.php
to
C:\sites\anotherfolder\folder1\file.php
В этом примере мне нужно заменить «какую-то папку» на «другую папку». Вот как я получаю полный путь:
foreach ($i in Get-ChildItem -Recurse -Force) {
Write-host $i.Fullname
}
Внутри цикла я попытался заменить его с помощью Fullname.replace, но все пошло не так, как ожидалось:
$i.Fullname.Replace($PWD, "anotherfolder")
# This returns "anotherfolder/folder1/file.php",
# instead of "c:\sites\anotherfolder\folder1\file.php
Я не очень разбираюсь в программировании Powershell, так что потерпите меня, хорошо?
Спасибо!