2013-02-12 2 views
2

У меня есть много путей к файлу, хранящихся в БД. Мне нужно проверить, действительно ли файлы существуют. Я сделал это раньше, но потерял скрипт для этого и нуждаюсь в некоторой помощи.powershell, если файл не существует строка журнала в файл

Я поместил все пути в текстовый файл и хочу их перебрать и проверить, существуют ли они. если они не существуют, я хочу поместить несуществующий путь в файл журнала.

Что-то вроде этого:

# ! equals -not 

$log = "e:\pshell\notExists.log" 
$log | out-file $log 

$list = Get-Content "e:\pshell\files.txt" 

Foreach ($file in $list) 
{ 
    CHECK IF FILE EXISTS 
    IF IT DOESNT then Write-Output $file 
} 

немного помочь?

ответ

4

test-path?

$log = "e:\pshell\notExists.log" $log | out-file $log 

$list = Get-Content "e:\pshell\files.txt" 

Foreach ($file in $list) 
{ 
    If (!(test-path $file)) 
    { 
     Write-Output $file 
    } 
} 
0
$log = "e:\pshell\notExists.log" 

Get-Content "e:\pshell\files.txt" | 
where {!(test-path $_)} | 
add-content $log 
2

Если вы входной_файл один путь_к_файлу в каждой строке, попробуйте:

$log = "e:\pshell\notExists.log" 

Get-Content "e:\pshell\files.txt" | Where-Object { 
    #Keep only paths that does not exists 
    !(Test-Path $_) 
} | Set-Content $log 

 Смежные вопросы

  • Нет связанных вопросов^_^