2016-06-18 1 views
0

Я буквально работал над тем, что казалось легкой задачей в течение недели. То, что я пытаюсь сделать, это иметь две переменные, которые содержат данные и использовать их как материал для прокрутки для каждого. Количество в каждой переменной будет различаться. Одно постоянное - это то, что для каждой записи в $ one я хочу использовать $ 2 для создания команды и запуска ее. Если он вернет данные, я перенаправляю их/добавлю в текстовый файл.PowerShell вложен в foreach с данными, используемыми для обоих?

Для примера:

$one = get-content C:\one.txt 
$two = get-content C:\two.txt 

$one 
jon 
bob 
ed 
don 

$two 
phila 
dallas 
atlanta 
tennessee 
alabama 
kentucky 

Желаемый результат:

jon phila 
jon dallas 
jon atlanta 
jon tennessee 
jon alabama 
jon kentucky 
bob phila 
bob dallas 

и так далее ...

Результаты были похожи на это:

результаты в основном так:

jon phila 
jon phila 
jon phila 
jon phila 
jon phila 
jon dallas 
jon dallas 

То, что я до сих пор:

foreach ($user in $one) 
{ 
    foreach ($area in $two) 
    { 
     if (Test-Path $user$area) 
     { 
      echo $user $area >> output.txt 
     } 
    } 
} 
+0

Итак, в чем проблема? –

+1

Почему тестовый путь $ one $ two? Это бессмысленно. –

+0

Я только что скорректировал его на код выше. Я хотел использовать переменную для forloop. –

ответ

0

Это, как я бы закодировать, что вы делаете, если оба $one и $two относительно невелики (< 1000 пунктов), но я до сих пор не понимаю, что проблема у вас есть:

$one = 'jon','bob','ed','don'; 
$two = 'phila','dallas','atlanta','tennessee','alabama','kentucky'; 
$result = @(); 

foreach ($user in $one) 
{ 
    foreach ($area in $two) 
    { 
     $userarea = "$user $area"; 
     if (Test-Path $userarea) 
     { 
      $result += $userarea; 
     } 
    } 
} 

Add-Content -Path .\output.txt -Value $result -Encoding UTF8; 

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

  • Нет связанных вопросов^_^