回答編集履歴
7
修正
test
CHANGED
@@ -108,4 +108,4 @@
|
|
108
108
|
|
109
109
|
なお、わからないコマンドの詳細については `Get-Help Get-ChildItem` のように `Get-Help` コマンドを使ってください。
|
110
110
|
|
111
|
-
また、`-LiteralPath` を多用していますが、これはファイル名をそのまま使用するオプションです。`-LiteralPath` を省略すると、代わりに `-Path` オプションが使われますが、このオプションは一部の文字がワイルドカードとして認識されるので、思わない結果になることがあります。
|
111
|
+
また、`-LiteralPath` を多用していますが、これはファイル名をそのまま使用するオプションです。`-LiteralPath` を省略すると、代わりに `-Path` オプションが使われますが、このオプションは一部の文字がワイルドカードとして認識されるので、思わない結果になることがあります。ワイルドカードが必要なとき以外は必ず `-Literalpath` を使いましょう。
|
6
修正
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
|
79
79
|
$_.Name -match '^\d+_(.+)グループ_(.+)店'
|
80
80
|
|
81
|
-
} | Get-ChildItem -Include '
|
81
|
+
} | Get-ChildItem -Include 'a.txt' | Foreach-Object {
|
82
82
|
|
83
83
|
$backup = $_.FullName + '.bak'
|
84
84
|
|
@@ -92,9 +92,9 @@
|
|
92
92
|
|
93
93
|
Get-Content -LiteralPath $backup | Foreach-Object {
|
94
94
|
|
95
|
-
$_ -replace '1', '一'
|
95
|
+
$_ -replace '1', '一' # この $_ は Get-Content の出力であるファイルの中身を指す
|
96
96
|
|
97
|
-
} | Set-Content -LiteralPath $_
|
97
|
+
} | Set-Content -LiteralPath $_ # この $_ は Get-ChildItem -Include 'a.txt' の出力であるファイルシステムオブジェクトを指す
|
98
98
|
|
99
99
|
}
|
100
100
|
|
5
修正
test
CHANGED
@@ -94,7 +94,7 @@
|
|
94
94
|
|
95
95
|
$_ -replace '1', '一'
|
96
96
|
|
97
|
-
} | Set-Content $_
|
97
|
+
} | Set-Content -LiteralPath $_
|
98
98
|
|
99
99
|
}
|
100
100
|
|
4
修正
test
CHANGED
@@ -107,3 +107,5 @@
|
|
107
107
|
|
108
108
|
|
109
109
|
なお、わからないコマンドの詳細については `Get-Help Get-ChildItem` のように `Get-Help` コマンドを使ってください。
|
110
|
+
|
111
|
+
また、`-LiteralPath` を多用していますが、これはファイル名をそのまま使用するオプションです。`-LiteralPath` を省略すると、代わりに `-Path` オプションが使われますが、このオプションは一部の文字がワイルドカードとして認識されるので、思わない結果になることがあります。パス名を手で入力するとき以外は必ず `-Literalpath` を使いましょう。
|
3
修正
test
CHANGED
@@ -103,3 +103,7 @@
|
|
103
103
|
|
104
104
|
|
105
105
|
書き換え部分については脇道なので詳細に説明しませんが、ファイル中の `1` を `一` に書き換えています。テスト用のフォルダとファイルを作成し、上記コマンドで `1` が `一` になることがわかったらこの問題は解決済みにしてください。中身の書き換えの詳細についてはまた別の質問だと思います。
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
なお、わからないコマンドの詳細については `Get-Help Get-ChildItem` のように `Get-Help` コマンドを使ってください。
|
2
修正
test
CHANGED
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
|
70
70
|
|
71
|
-
もし、望む編集が追記ではなく
|
71
|
+
もし、望む編集が追記ではなく一部の置換だとしたら、`Add-Content` は使えません。次のように、まず元のファイルの名前を変更し、その中身を置換したものを元のファイル名で出力するのが良いと思います。
|
72
72
|
|
73
73
|
|
74
74
|
|
1
修正
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
`Get-ChildItem` はそのディレクトリにあるファイルやディレクトリを列挙するコマンドレットで、その出力である `System.IO.FileSystemInfo` の
|
17
|
+
`Get-ChildItem` はそのディレクトリにあるファイルやディレクトリを列挙するコマンドレットで、その出力である `System.IO.FileSystemInfo` の集合を `Where-Object` に渡しています。
|
18
18
|
|
19
19
|
|
20
20
|
|