2015-02-02 3 views
0

У меня возникли проблемы со следующим сценарием. Похоже, что freakout с пробелами в пути к файлу, который я проверяю. Любые идеи о том, как не иметь уродства PoweShell, с Program Files (x86)?Как обрабатывать пробелы в пути файла

GC C:\server.txt | %{ 

    $server = $_ 
    if (Test-Path \\$server\c$\Program Files (x86)\some_dir\test.txt){ 
      New-Object PSOBject -Property @{ 
      Server = $server 
      Status = "Yes" 
      } 
     }else { 
     New-Object PSOBject -Property @{ 
     Server = $server 
     Status = "No" 
     } 
    } 
}| Export-Csv C:\temp\report.csv -nti 
+0

Вы пытались использовать кавычки? – PetSerAl

+0

Двойные кавычки. Прочитайте цитату из Powershell. Иногда вместо простых строк оболочки используют цитаты, чтобы гарантировать, что разделение слов не происходит в аргументах и ​​параметрах и во время замещения доллара. –

ответ

2

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

if (Test-Path "\\$server\c$\Program Files (x86)\some_dir\test.txt"){ 

Убедитесь, что вы используете двойные кавычки, хотя так, что переменные должным образом расширены.

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