質問編集履歴

1

自己追記

2020/06/02 23:32

投稿

yuujiMotoki
yuujiMotoki

スコア90

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
-
31
+ 現在のコード
32
32
 
33
33
 
34
34
 
@@ -40,27 +40,35 @@
40
40
 
41
41
  openfiles > NUL 2>&1
42
42
 
43
- if NOT %ERRORLEVEL% EQU 0 goto sub
43
+ if not %ERRORLEVEL% EQU 0 goto sub
44
44
 
45
- $path= Convert-Path .
46
45
 
47
- cd $path
48
46
 
49
- $result = [Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()
47
+ @set FwDir="%windir%\Microsoft.NET\framework"
50
48
 
51
- $run = Join-Path $result "Regasm.exe"
49
+ echo "%FwDir%"
52
50
 
53
- $target = "./dll/ExcelVbaExt.dll -Verb runAs"
51
+ for %%a in (%FwDir%) do (
54
52
 
53
+ for /f "delims=" %%i in ('dir /b /s "%FwDir%\Regasm.exe"') do (
54
+
55
- $run $target
55
+ call :RegisteredDll %%i))
56
56
 
57
57
  pause
58
+
59
+
60
+
61
+ :RegisteredDll
62
+
63
+ echo ---- regasm process ----
64
+
65
+ %1 "./dll/ExcelVbaExt.dll"
58
66
 
59
67
  goto end
60
68
 
61
69
  :sub
62
70
 
63
- powershell.exe start-process %~nx0 -verb runas
71
+ powershell start-process %~nx0 -verb runas
64
72
 
65
73
  :end
66
74
 
@@ -72,62 +80,48 @@
72
80
 
73
81
 
74
82
 
75
- CMD側の処理後
83
+ なんとか最終的動かせるところまで、たどり着きました。
76
84
 
85
+
86
+
87
+ しかしながら、ループ脱出でてこずっています。
88
+
89
+
90
+
91
+ おそらく完了処理がおかしいのか、最後にエラーがでます。
92
+
93
+
94
+
95
+ どうしたらいいでしょうか?
96
+
97
+
98
+
99
+ `""C:\WINDOWS\Microsoft.NET\framework""
100
+
101
+ ---- regasm process ----
102
+
103
+ Microsoft(R) .NET Framework Assembly Registration Utility 2.0.50727.8922
104
+
105
+ Copyright (C) Microsoft Corporation 1998-2004. All rights reserved.
106
+
107
+
108
+
109
+ RegAsm : error RA0000 : 'C:\Users\mm05162\Desktop\IMPRGSC\VBA\dll\ExcelVbaExt.dll' は有効な .NET アセンブリではないため 、読み込めませんでした。
110
+
111
+ ---- regasm process ----
112
+
113
+ Microsoft .NET Framework Assembly Registration Utility 4.8.3761.0
114
+
77
- `powershell.exe start-process %~nx0 -verb runas
115
+ for Microsoft .NET Framework Version 4.8.3761.0
116
+
117
+ Copyright (C) Microsoft Corporation. All rights reserved.
118
+
119
+
120
+
121
+ 型は正常に登録されました。
122
+
123
+ 続行するには何かキーを押してください . . .
78
124
 
79
125
  `
80
126
 
81
- POWERSHELLを立ち上げようとしていますが、CMDが立ち上がります。
82
-
83
-
84
-
85
- CMDは管理者でたちあがらない
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
- 何とか、この処理を完成させたいのですが、まだPSのことが理解できていません
94
-
95
-
96
-
97
- すみませんが、アドバイスを戴きたいです。
98
-
99
-
100
-
101
-
102
-
103
- #参考ソース
104
-
105
-
106
-
107
- [リンク内容](https://qiita.com/YamEiR/items/7f2734510544090611db)https://qiita.com/YamEiR/items/7f2734510544090611db
108
-
109
-
110
-
111
- ```
112
-
113
- start.bat
114
-
115
- @echo off
116
-
117
- openfiles > NUL 2>&1
118
-
119
- if NOT %ERRORLEVEL% EQU 0 (
120
-
121
- REM 管理者権限が無いのでstart-process -verb runasで権限付与する
127
+ ![イメージ説明](da1afd727c123cd925f58730592dab53.png)
122
-
123
- powershell start-process 起動したいバッチファイル -ArgumentList "引数1","引数2" -verb runas
124
-
125
- ) else (
126
-
127
- REM 管理者権限があるのでSTARTあるいはCALLコマンドで起動できる
128
-
129
- START 起動したいバッチファイル 引数1 引数2
130
-
131
- )
132
-
133
- ```