1

これは改善したい VBScript です。4つのことをお願いします:

1) 拡張子 cleanup.dll の名前を cleanup.exe に変更する行を追加して、WshShell.run から呼び出して実行 (非表示) できるようにします。

2) すぐ下に書かれているように、スクリプトは 2 つの画面を開きます: cleanup.exe の画面と、ユーザーに対して非表示にする必要がある空白の画面です。セカンドスクリーンを非表示にする方法は?目に見えないように実行したい (ユーザーは 2 番目の画面を閉じたり操作したりすることはできません。cleanup.exe 内のコードによって閉じられます)。**注: 以下のコードは Windows XP では完全に機能しますが、Windows 7 では機能しません。 . すべての Windows プラットフォームで動作させる方法は?

VBSCRIPT "Second.vbs"

Set WshShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject") 
objFSO.MoveFile "cleanup.dll" , "cleanup.exe" 
WshShell.Run "c:\cleanup.exe", 0, TRUE
Set WshShell = Nothing

バッチ "Master.bat"

@echo off
wscript Second.vbs
exit /b

3) VBS から EXE に変換するための優れた信頼できるソフトウェアはありますか?

4) 私が抱えているもう 1 つの問題は、以下のコマンド ラインで結果が得られないことです。代わりに、以下のコードの 2 番目のパードを使用する必要がありますか? どうして ??

バッチ ファイルがドライブ f:\ にあるとします。

それをダブルクリックすると、実際には c:\ ドライブにある TXT ファイルから抽出された情報が画面に表示されます。

@echo off
set DRV=C:\August\MyProgram
cd\
cd %DRV%
type test.txt & pause>nul


@echo off
set DRV=C:\August\MyProgram
cd\

c:

cd %DRV%
type test.txt & pause>nul

事前に説明と解決策をありがとう

4

1 に答える 1

1

バッチで実行する理由は、vbscript の方が強力で、より制御しやすいからです。

表示されているコンソール ウィンドウについては、 WshShell.Run "c:\cleanup.exe", 0, TRUE実行中にコンソールを非表示にし、続行する前に待機する必要があります。スクリプトを cscript.exe ではなく wscript.exe で開始し、wscript.echo を使用しないようにしてください。

ファイル名の変更

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "cleanup.dll" , "cleanup.exe"

バッチ cd については、コンソール ウィンドウでこれを練習してください。 cd はドライブに変更されることはなく、別のマップにのみ変更されます。

d: => d:\>
c: => c:\> (so now if you are on c:\)
cd d:\test =>c:\ (changes your active map on d: to d:\test but since your c: drive is still the active drive you see nothing happening)
d: => d:\test (change drive to d:, you do see that the active map on drive d: is d:\test (at least with the default prompt)
于 2012-08-22T18:53:43.613 に答える