如何检查特定位置是否存在文件?

时间:2016-03-25 13:16:36

标签: powershell if-statement

我想帮助撰写我的if声明,我很难在网上找到我想做的信息。基本上我需要我的if语句来查看$file是否位于指定位置(如果可能,可以是多个位置)。到目前为止,我有这个:

foreach ($file in $MyInvocation.MyCommand.Path) {
  if ($file) {  #I need this to search a specific directory or directories
  }
}

3 个答案:

答案 0 :(得分:1)

如果要查看是否存在某些内容,请尝试使用test-path命令。这将返回一个true / false值,您可以将其插入后续的if语句中并分别执行您想要的操作。

$fileTest = test-path [file path here]
if($fileTest -eq $true){
    #what happens when the file exists
}
else{
    #what happens when the file does not exist
}

答案 1 :(得分:0)

您也可以使用.NET方法:

if(![System.IO.File]::Exists($file)){
  # File exists
}

A better way to check if a path exists or not in PowerShell

答案 2 :(得分:0)

如果您只是想知道该文件是否存在于其中一个位置,请使用:

if( ( (test-path 'c:\testpath1\test.txt','c:\testpath2\test.txt') -eq $true).Count)
{
"File found!";
}

如果您想知道文件的位置,请分别为每个路径执行测试路径。

if( ( (test-path 'c:\testpath1\test.txt') -eq $true).Count)
{
"File found at testpath1!";
}
if( ( (test-path 'c:\testpath2\test.txt') -eq $true).Count)
{
"File found at testpath2!";
}