2013-05-14 1 views
1
$computers = Get-Content -Path C:\output\output.txt 
$output = '\\PCname\c$\output\' 
$output1 = '.txt' 
($output2 =$output+$computers+$output1) 
msinfo32.exe /report $output2 /computer $computer 

을 실행하는 약탈 각 PCname은 각각의 PCname 사이에 공백이 있습니다. 죄송합니다 대부분의 간단한 질문을 보일 것입니다 그냥 PS를 사용하기 시작했다.

감사합니다.

답변

1

여기에는 두 가지 문제가 있습니다.

  1. 가 제대로 경로로 문자열을 연결하기 위해, 당신은 당신이 컴퓨터의 목록을 통해 반복되지 않기 때문에 당신은 첫 번째 컴퓨터 이름을 얻고 Join-Path
  2. 를 사용합니다.

빠른 & 더러운 개정

$computers = Get-Content -Path C:\output\output.txt; 
$output = '\\PCname\c$\output\'; 
$output1 = '.txt'; 
$computers | foreach-object { 
    $output2 = (join-path -path $output -childpath $_) + ".txt"; 
    msinfo32.exe /report $output2 /computer $_; 
} 
(각 컴퓨터 이름이 output.txt에서 한 줄에 있다고 가정)