PowerShell удаление похожих элементов из файлов

#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())»