回答編集履歴

1

取消し

2022/01/11 07:27

投稿

ccc-
ccc-

スコア342

test CHANGED
@@ -1,165 +1,7 @@
1
- csvからディレクトリ名、ユーザー名抽出するプログラムです
1
+ 私のミスで質問者様の文章読み間違えました
2
2
 
3
+ 取消して撤回致します。
3
4
 
5
+ 誠に申し訳ございませんでした。
4
6
 
5
- ```PowerShell
6
-
7
- #
8
-
9
- # csvからディレクトリ名、ユーザー名を抽出
10
-
11
- #
12
-
13
- # ■注意事項■
14
-
15
- # ① このプログラムは(例)キー,値,値,値 には使用できません。ご注意ください。
16
-
17
- # ② csvファイルは「ヘッダなし」にしてください。
18
-
19
- # ③ csvファイルの配置図は(キー,値)または(キー,値,値)です。
20
-
21
- # test1,user001
22
-
23
- # test2,user001,user002
24
-
25
- #
26
-
27
-
28
-
29
- #
30
-
31
- # キー,値,値 を変更します。
32
-
33
- # ↓
34
-
35
- # キー,値
36
-
37
- #
38
-
39
-
40
-
41
- $inputfile = "c:\userlist.csv" # ← Cドライブに「ヘッダなし」のcsvファイルを置きます。
42
-
43
- $aaaa = @() # 配列
44
-
45
- $Datas = @(Get-Content -LiteralPath $inputfile) # Datas ← 最後の s は気にしないで。
46
-
47
- foreach ( $Data in $Datas ){
48
-
49
- if ( $Data -ne '' ){
50
-
51
- $out = $Data -replace '^(.*),(.*),(.*)$','$1,$2'
52
-
53
- $aaaa += $out
54
-
55
- $out = $Data -replace '^(.*),(.*),(.*)$','$3'
56
-
57
- if ( $out -ne '' ){
58
-
59
- $out = $Data -replace '^(.*),(.*),(.*)$','$1,$3'
60
-
61
- $aaaa += $out
62
-
63
- }
64
-
65
- }
66
-
67
- }
68
-
69
-
70
-
71
- #
72
-
73
- # キー,値 を分解します。
7
+ 心からお詫び申上げます。
74
-
75
- # test1,user001 → user001
76
-
77
- # test1,user001 → test1
78
-
79
- #
80
-
81
-
82
-
83
- foreach ( $bbbb in $aaaa ){
84
-
85
- $target = "c:\temp" # c:\temp ターゲット
86
-
87
- $Right = $bbbb.Split(",")[1] # user001 カンマを中心にして分解 test1,user001 → user001 右辺を取得
88
-
89
- $Left = $bbbb.Split(",")[0] # test1 カンマを中心にして分解 test1,user001 → test1 左辺を取得
90
-
91
- $User_or_Group_name = $Right # user001 ユーザー名
92
-
93
- $Folder_Path = $target+ '\' + $Left # c:\temp\test1 target+ディレクトリ名
94
-
95
- # -----
96
-
97
-
98
-
99
- Write-host $Folder_Path $User_or_Group_name # 確認の為、表示させています ← c:\temp\test1 user001 ← この内容で正しいかどうか確認してください。確認後は削除できます。
100
-
101
-
102
-
103
- # -----
104
-
105
- #
106
-
107
- # ↓ここから先は、自己責任になります。ご利用に際し如何なる損失や損害が発生しても、一切の責任を負いかねます。
108
-
109
- #
110
-
111
- # cd $target
112
-
113
- # $acl = Get-ACL $Folder_Path # ファイル名を修正しました FolderPath → Folder_Path
114
-
115
- # $Permission = ("$User_or_Group_name","FullControl","ContainerInherit","None","Allow")
116
-
117
- # $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $Permission
118
-
119
- # $acl.SetAccessRule($AccessRule)
120
-
121
- # $acl | Set-ACL $Folder_Path # ファイル名を修正しました FolderPath → Folder_Path
122
-
123
- }
124
-
125
- ```
126
-
127
-
128
-
129
- ■注意事項■
130
-
131
-
132
-
133
- ※ このプログラムは(例)キー,値,値,値 には使用できません。ご注意ください。
134
-
135
-
136
-
137
- ※ csvファイルは「ヘッダなし」にしてください。
138
-
139
-
140
-
141
- ※ csvファイルの配置図は(キー,値)または(キー,値,値)です。
142
-
143
-
144
-
145
- ※「ここから先は。。。」の部分は、自己責任になります。
146
-
147
-
148
-
149
- ※ ご利用に際し如何なる損失や損害が発生しても、一切の責任を負いかねます。
150
-
151
-
152
-
153
- ※ 確認用に変数を表示させています。確認後は削除できます。
154
-
155
-
156
-
157
- ※ プログラムにコメントを付けています。実行する前に、すべてのコメントをお読みください。
158
-
159
-
160
-
161
- ※ サーバーのアクセス権を変更した事がありません。エラーが発生してもアドバイスできません。ご了承ください。
162
-
163
-
164
-
165
- ※ コマンドプロンプトに icacls 命令があります。問題が発生した場合、この命令を調べると良いかもしれません。