2016-10-17 49 views
0

調試時,$var不等同於「folder\that\isNot\equivalent\".條件判斷是正確的,但在返回false

我試圖將其更改爲一個等價的語句,但它不工作。任何有識之士將不勝感激。

這裏是所有相關代碼:

$process = "Explorer++.exe" 
$var = Get-WmiObject Win32_Process -Filter "name = '$process'" | select -expandproperty CommandLine 
$var = $var -split '\\\\' | select -Last 1 
Write-Host $var 
if ($var -ne "folder\that\isNot\equivalent\") 
{ 
    Stop-Process -processname explorer++ 
    Stop-Process -processname curProc 
} 
else 
{ 
    return $true 
} 
+0

存儲在'$ var'和'$ process'在'寫Host'行什麼樣的價值觀? – Bassie

+0

@Bassie 執行寫主機時: $ var ='folder \ that \ isnot \'作爲System.String '$ process =「Explorer ++。exe」'也作爲System.String。 – Bridger

回答

1

問題被周圍的$ VAR空格我用命令$var = $var -replace "\s",""

用空字符串替換每個空格符號,我也將它改爲等價語句。

if ($var -eq "\folder\that\is\")

+1

如果路徑包含任何空格,使用'$ var.Trim()'可能更好一些 – Bassie

相關問題