質問編集履歴

11

タイトルに合わせてコード内の正規表現記述も修正しました。

2021/04/04 05:12

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### 該当のソースコード
16
16
 
17
- Get-ChildItem -Path @('C:\Windows\System32\WindowsPowerShell\v1.0\Modules\UserScripts', 'C:\Program Files\WindowsPowerShell\Modules\UserScripts', "$Env:USERPROFILE\Documents\WindowsPowerShell\Modules\UserScripts") -Recurse | Where-Object {$_.FullName -match '\([^\]+)\$1.ps[a-z]*1$'}
17
+ Get-ChildItem -Path @('C:\Windows\System32\WindowsPowerShell\v1.0\Modules\UserScripts', 'C:\Program Files\WindowsPowerShell\Modules\UserScripts', "$Env:USERPROFILE\Documents\WindowsPowerShell\Modules\UserScripts") -Recurse | Where-Object {$_.FullName -match '\([^\]+)\$1.psm1$'}
18
18
 
19
19
  ### 試したこと
20
20
 

10

タイトルを修正しました。

2021/04/04 05:12

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
@@ -1 +1 @@
1
- PowerShellにて、モジュールディレクトリ内のスクリプトファイル(.ps1)の列挙をするには?
1
+ PowerShellにて、モジュールディレクトリ内のスクリプトファイル(.psm1)の列挙をするためのフィルタが上手く行かない。
test CHANGED
File without changes

9

タグを追加しました。

2021/04/04 05:09

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
File without changes

8

補足情報にOS名を付け加えました。

2021/04/04 04:07

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -24,6 +24,8 @@
24
24
 
25
25
  ### 補足情報(FW/ツールのバージョンなど)
26
26
 
27
+ OSはWindows 10 Proです。
28
+
27
29
  PowerShellのバージョンは5.1です。
28
30
 
29
31
  管理者権限にて実行しました。

7

前提・実現したいことの一部で文言の不足を補正しました。

2021/04/04 01:55

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ### 前提・実現したいこと
6
6
 
7
- PowerShellのモジュールディレクトリに配置したスクリプトのうち、フォルダ名と一致する有効なもののみを列挙するPowerShellスクリプトを作成しています。
7
+ PowerShellのモジュールディレクトリに配置したスクリプトのうち、フォルダ名とBaseNameが一致する有効なもののみを列挙するPowerShellスクリプトを作成しています。
8
8
 
9
9
  尚、スクリプトファイルのディレクトリにつきましては、System32とProgram FilesとユーザーのDocumentsの3か所にあります、WindowsPowerShell\Modulesの下にUserScriptsフォルダを作成し、更にその下にBaseNameと同一名のフォルダを作成し、スクリプトファイルを配置しています。
10
10
 

6

試したことを更に追記しました。

2021/04/04 01:52

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ### 試したこと
20
20
 
21
- 正規表現をやめて$_.FullName -like "*$_.BaseName$_.Name"としましたが、同様にスルーされてしまいました。
21
+ 正規表現記述の中で$1使用しても無効となるのか?と疑い、正規表現をやめて$_.FullName -like "*$_.BaseName$_.Name"としましたが、同様にスルーされてしまいました。
22
22
 
23
23
  Get-ChildItem ~ -Recurseのみをコピペしてコンソールウインドウに貼り付けて実行した結果では、Where-Objectに渡す前までは有効であると理解できます。
24
24
 

5

試したことを追記しました。

2021/04/04 01:48

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,9 @@
18
18
 
19
19
  ### 試したこと
20
20
 
21
- 正規表現をやめて、$_.FullName -like "*$_.BaseName$_.Name"としましたがスルーされてしまいま
21
+ 正規表現をやめて、$_.FullName -like "*$_.BaseName$_.Name"としましたが、同様にスルーされてしまいました
22
+
23
+ Get-ChildItem ~ -Recurseのみをコピペしてコンソールウインドウに貼り付けて実行した結果では、Where-Objectに渡す前までは有効であると理解できます。
22
24
 
23
25
  ### 補足情報(FW/ツールのバージョンなど)
24
26
 

4

スクリプトファイルの配置先ディレクトリについての説明を追加しました。

2021/04/04 01:42

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,8 @@
5
5
  ### 前提・実現したいこと
6
6
 
7
7
  PowerShellのモジュールディレクトリに配置したスクリプトのうち、フォルダ名と一致する有効なもののみを列挙するPowerShellスクリプトを作成しています。
8
+
9
+ 尚、スクリプトファイルのディレクトリにつきましては、System32とProgram FilesとユーザーのDocumentsの3か所にあります、WindowsPowerShell\Modulesの下にUserScriptsフォルダを作成し、更にその下にBaseNameと同一名のフォルダを作成し、スクリプトファイルを配置しています。
8
10
 
9
11
  ### 発生している問題・エラーメッセージ
10
12
 

3

環境変数の誤りを訂正しました。

2021/04/04 01:28

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ### 該当のソースコード
14
14
 
15
- Get-ChildItem -Path @('C:\Windows\System32\WindowsPowerShell\v1.0\Modules\UserScripts', 'C:\Program Files\WindowsPowerShell\Modules\UserScripts', "$_.USERNAME\Documents\WindowsPowerShell\Modules\UserScripts") -Recurse | Where-Object {$_.FullName -match '\([^\]+)\$1.ps[a-z]*1$'}
15
+ Get-ChildItem -Path @('C:\Windows\System32\WindowsPowerShell\v1.0\Modules\UserScripts', 'C:\Program Files\WindowsPowerShell\Modules\UserScripts', "$Env:USERPROFILE\Documents\WindowsPowerShell\Modules\UserScripts") -Recurse | Where-Object {$_.FullName -match '\([^\]+)\$1.ps[a-z]*1$'}
16
16
 
17
17
  ### 試したこと
18
18
 

2

ローカル環境のパスの一部を伏せました。

2021/04/04 01:16

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ### 該当のソースコード
14
14
 
15
- Get-ChildItem -Path @('C:\Windows\System32\WindowsPowerShell\v1.0\Modules\UserScripts', 'C:\Program Files\WindowsPowerShell\Modules\UserScripts', 'C:\Users\Aristocrat-001\Documents\WindowsPowerShell\Modules\UserScripts') -Recurse | Where-Object {$_.FullName -match '\([^\]+)\$1.ps[a-z]*1$'}
15
+ Get-ChildItem -Path @('C:\Windows\System32\WindowsPowerShell\v1.0\Modules\UserScripts', 'C:\Program Files\WindowsPowerShell\Modules\UserScripts', "$_.USERNAME\Documents\WindowsPowerShell\Modules\UserScripts") -Recurse | Where-Object {$_.FullName -match '\([^\]+)\$1.ps[a-z]*1$'}
16
16
 
17
17
  ### 試したこと
18
18
 

1

タイプミス修正

2021/04/04 01:15

投稿

Endless-Loop
Endless-Loop

スコア6

test CHANGED
File without changes
test CHANGED
@@ -20,6 +20,6 @@
20
20
 
21
21
  ### 補足情報(FW/ツールのバージョンなど)
22
22
 
23
- PowerSehllのバージョンは5.1です。
23
+ PowerShellのバージョンは5.1です。
24
24
 
25
25
  管理者権限にて実行しました。