teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

誤字脱字修正

2018/10/18 04:08

投稿

kmyzr
kmyzr

スコア305

answer CHANGED
@@ -26,7 +26,7 @@
26
26
  どうでしょうか。
27
27
 
28
28
  注意点ですが`foreach {}`の中ですが`return $exe_err`としていますが
29
- `return`書いてない場所の結果もパイプに流れてしまうので`foreach {}`の結果が帰ってくる処理は
29
+ `return`書いてない場所の結果もパイプに流れてしまうので`foreach {}`の結果が帰ってくる処理は
30
30
  最初に`$null = `を入れてください。
31
31
  `$null = (5 + 1)`の`$null = `を外すとどうなるか分かります。
32
32
 
@@ -34,5 +34,5 @@
34
34
  注意点
35
35
 
36
36
  前回の回答で載せていますが
37
- `Select-Object -first 1`はPowerShell V3以降ないと
37
+ `Select-Object -first 1`はPowerShell V3以降ないと
38
38
  ループから抜けてくれません。

4

注意点の追記

2018/10/18 04:08

投稿

kmyzr
kmyzr

スコア305

answer CHANGED
@@ -28,4 +28,11 @@
28
28
  注意点ですが`foreach {}`の中ですが`return $exe_err`としていますが
29
29
  `return`書いてない場所の結果もパイプに流れてしまうので`foreach {}`の結果が帰ってくる処理は
30
30
  最初に`$null = `を入れてください。
31
- `$null = (5 + 1)`の`$null = `を外すとどうなるか分かります。
31
+ `$null = (5 + 1)`の`$null = `を外すとどうなるか分かります。
32
+
33
+ --追記--
34
+ 注意点
35
+
36
+ 前回の回答で載せていますが
37
+ `Select-Object -first 1`はPowerShell V3以降出ないと
38
+ ループから抜けてくれません。

3

意味のないWrite-hostの削除とエラー番号受け取れてるかの確認追加

2018/10/18 02:13

投稿

kmyzr
kmyzr

スコア305

answer CHANGED
@@ -3,7 +3,6 @@
3
3
  `ForEach`の`{}`内の結果が`bool`($true or $false)になるようにします。
4
4
  サンプルを出します。
5
5
  ```powershell
6
-
7
6
  1..10 | foreach {
8
7
  $exe_err = $_ -eq 8
9
8
 
@@ -18,11 +17,10 @@
18
17
  $null = (5 + 1)
19
18
  }
20
19
  return $exe_err
21
- Write-host
20
+
22
21
  } | where {$_} | Select-Object -First 1
23
22
 
24
- Write-host "終わり"
23
+ Write-host "次のエラーコードで了しましたーーーーーー>:$env:tmp_error_code"
25
-
26
24
  ```
27
25
  実行してみてください。
28
26
  どうでしょうか。

2

追記

2018/10/18 02:08

投稿

kmyzr
kmyzr

スコア305

answer CHANGED
@@ -28,6 +28,6 @@
28
28
  どうでしょうか。
29
29
 
30
30
  注意点ですが`foreach {}`の中ですが`return $exe_err`としていますが
31
- `return`書いてない場所の結果もパイプに流れてしまうので結果が帰ってくる処理は
31
+ `return`書いてない場所の結果もパイプに流れてしまうので`foreach {}`の結果が帰ってくる処理は
32
32
  最初に`$null = `を入れてください。
33
33
  `$null = (5 + 1)`の`$null = `を外すとどうなるか分かります。

1

追記

2018/10/18 02:04

投稿

kmyzr
kmyzr

スコア305

answer CHANGED
@@ -10,6 +10,7 @@
10
10
  if ($exe_err)
11
11
  {
12
12
  Write-Host "$_`でエラー起きたので中断します。"
13
+ $env:tmp_error_code = $_
13
14
  }
14
15
  else
15
16
  {