回答編集履歴

7

修正

2020/09/03 23:47

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -108,4 +108,4 @@
108
108
 
109
109
  なお、わからないコマンドの詳細については `Get-Help Get-ChildItem` のように `Get-Help` コマンドを使ってください。
110
110
 
111
- また、`-LiteralPath` を多用していますが、これはファイル名をそのまま使用するオプションです。`-LiteralPath` を省略すると、代わりに `-Path` オプションが使われますが、このオプションは一部の文字がワイルドカードとして認識されるので、思わない結果になることがあります。パス名を手で入力するとき以外は必ず `-Literalpath` を使いましょう。
111
+ また、`-LiteralPath` を多用していますが、これはファイル名をそのまま使用するオプションです。`-LiteralPath` を省略すると、代わりに `-Path` オプションが使われますが、このオプションは一部の文字がワイルドカードとして認識されるので、思わない結果になることがあります。ワイルドカードが必要なとき以外は必ず `-Literalpath` を使いましょう。

6

修正

2020/09/03 23:47

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -78,7 +78,7 @@
78
78
 
79
79
  $_.Name -match '^\d+_(.+)グループ_(.+)店'
80
80
 
81
- } | Get-ChildItem -Include 'b.txt' | Foreach-Object {
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

修正

2020/09/03 23:44

投稿

Zuishin
Zuishin

スコア28662

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

修正

2020/09/03 23:42

投稿

Zuishin
Zuishin

スコア28662

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

修正

2020/09/03 23:40

投稿

Zuishin
Zuishin

スコア28662

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

修正

2020/09/03 23:36

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
 
70
70
 
71
- もし、望む編集が追記ではなく書きだとしたら、`Add-Content` は使えません。次のように、まず元のファイルの名前を変更し、その中身を置換したものを元のファイル名で出力するのが良いと思います。
71
+ もし、望む編集が追記ではなく一部の置換だとしたら、`Add-Content` は使えません。次のように、まず元のファイルの名前を変更し、その中身を置換したものを元のファイル名で出力するのが良いと思います。
72
72
 
73
73
 
74
74
 

1

修正

2020/09/03 23:35

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- `Get-ChildItem` はそのディレクトリにあるファイルやディレクトリを列挙するコマンドレットで、その出力である `System.IO.FileSystemInfo` の配列を `Where-Object` に渡しています。
17
+ `Get-ChildItem` はそのディレクトリにあるファイルやディレクトリを列挙するコマンドレットで、その出力である `System.IO.FileSystemInfo` の集合を `Where-Object` に渡しています。
18
18
 
19
19
 
20
20