2017-01-21 10 views
0

これが必要な理由は、セキュリティ上の理由からです。顧客のコンピュータに遠隔操作して診断ソフトウェアを実行しようとしていますが、問題はいつでもリモートセッションを終了してソフトウェアを保持できることです。リモートアクセスサービスが停止している場合、ソフトウェアを削除する方法はありますか?助けてくださいプログラムが終了したらフォルダを削除する.batファイルが必要です

答えて

2

はい、簡単な方法があります。バッチファイル自体でプログラムを開始することができます。しかし、バッチファイル内の "yourprogram.exe"で起動するのではなく、 "START/wait yourprogram.exe"で起動してください。そして、バッチの次の行に "del program.exe"だけを入れてください。 yourprogram.exeが閉じられるまで、バッチ・ウェイトを開始/待機してから、deleteコマンドを続けます。

START /wait yourprogram.exe 
del yourprogram.exe 

ただし、顧客がソフトウェアのコピーを保持できることに注意してください。一度彼のコンピュータ上にあれば、それを保つ他の方法はないと100%確信できない。

1

あなたは、バッチファイルを使用してプログラムを起動したくない場合:

@echo off 
set opened=0 
:loop 
if "%opened%" == "0" (
tasklist | find "yourprogram.exe" 
if "%errorlevel%" == "0" (set "opened=1") else (goto loop) 
) else (
tasklist | find "yourprogram.exe" 
if "%errorlevel%" == "1" (goto delete) else (goto loop) 
) 
:delete 
cd your\folder 
if "%errorlevel%" == "0" (goto del) else (goto error) 
:del 
del *.* 
cd ..\ 
rd yourdirectory 
goto :eof 
:error 
echo cannot find specified folder 

yourprogram.exe閉じを開始したときに、このコードは、指定したフォルダを削除します。

私はそうユーザーがいない「元に戻す」削除したファイルことができますが、私は多分あなたが知っている、フォルダ内のすべてのファイルに適用する方法を知らない あなたがecho nul> afile.txtを使用することをお勧めしてからdel afile.txt

と私はattrib +H path\to\folderを使用してフォルダを非表示にすることをお勧めします。

(ディレクトリ名で、削除したいディレクトリと yourdirectoryへのパスして、プログラム名を持つ yourprogram.exeyour\folderを交換してください)
関連する問題