#powershell
#powershell
Вопрос:
$objFolder = "C:UsersBruceSerena" #directory
foreach ($file in (Get-Content 'C:UsersBruceprocess.txt')) {
Remove-Item -ErrorAction SilentlyContinue 'C:UsersBrucesorted.manifest.txt$file'
}
У меня есть этот скрипт, который удаляет похожие элементы из каталога. Я попытался изменить
каталог для файла, но он не удаляет его. Нужно ли мне делать что-то другое
при удалении из файла?
Ответ №1:
Может быть, вы используете «vs «», и, следовательно, $file не расширяется?
Приводит ли это к другому результату?
Remove-Item -ErrorAction SilentlyContinue "C:UsersBrucesorted.manifest.txt$file"
Комментарии:
1. Попробовал с теми же результатами. У меня есть test2.txt в process.txt (col 1-9) и в sorted.manifest.txt У меня есть test5.txt 1-я строка test4.txt 2-я строка test3.txt 3-я строка test2.txt 4-я строка и test1.txt 5-я строка и test2.txt должен быть удален, но он все еще там после выполнения.
2. Можете ли вы удалить -erroraction silentlycontinue и вставить ошибку?
3. Я трижды проверил, и файл есть, почему powershell не видит его emove-Item : не удается найти путь c:UsersBrucesorted.manifest.txt $file’ потому что это не exist.at c:UsersBruceSQL_PowerShell2.ps1:2 символ: 3 Удалить-элемент c:UsersBrucesorted.manifest.txt $file’ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Информация о категории: объект не найден: (C:UsersBrucesorted.manifest.txt $file:String) [Удалить элемент], исключение ItemNot FoundException FullyQualifiedErrorId : путь не найден, Microsoft. PowerShell. Команды. RemoveItemCommand
4. Удалить элемент : не удается найти путь ‘C:UsersBrucesorted.manifest.txt test2.txt ‘ потому что он не существует. В C:UsersBruceSQL_PowerShell2.ps1:2 символ: 3 Удалить-элемент «C:UsersBrucesorted.manifest.txt $file» CategoryInfo : ObjectNotFound: (C:UsersBruce….txt test2.txt:String) [Удалить элемент], исключение ItemNotFoundException FullyQualifiedErrorId : путь не найден, Microsoft. PowerShell. Команды. RemoveItemCommand получение test2.txt теперь, но перед именем есть пробел
5. Да, похоже, что перед именем вашего файла стоит пробел. это происходит из части get-content. Поэтому ваш ввод необходимо обрезать. Например. «C:UsersBrucesorted.manifest.txt $($file.trim())»