2

我有许多文件路径存储在数据库中。我需要检查文件是否确实存在。我以前做过,但丢失了它的脚本,需要一些帮助。

我将所有路径放在一个文本文件中,并希望遍历它们,并检查它们是否存在。如果它们不存在,我想将不存在的路径放在日志文件中。

像这样的东西:

# ! 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

3 回答 3

4

测试路径?

$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
   }
}
于 2013-02-12T16:46:10.320 回答
2

如果您的 inputfile 是每行一个文件路径,请尝试:

$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
于 2013-02-12T16:57:46.170 回答
0
$log = "e:\pshell\notExists.log" 

Get-Content "e:\pshell\files.txt" |
where {!(test-path $_)} |
add-content $log
于 2013-02-12T16:56:31.190 回答