ホームページ  >  記事  >  運用・保守  >  Bat バッチ ファイルを使用して Windows を操作するサンプルコード

Bat バッチ ファイルを使用して Windows を操作するサンプルコード

零下一度
零下一度オリジナル
2017-05-24 14:57:212561ブラウズ

Windows プロセスの起動とシャットダウンの遅延を実装するバッチ ファイル。IE の起動と終了に使用されます。バッチ処理を学習する友人はそれを参照できます。

数日前、リーダーはランキングを上げるためにウェブサイトで投票するように私たちに依頼しましたが、各人は 100 票強に投票しました。数日後、上司から、ランキングを向上させるために投票スワイプ プログラムを作成してみないかと尋ねられ、1 日かけて研究した結果、ついに作成することができました。一晩中寝ないでください。さあ、取り出してシェアしましょう。
率直に言うと、私が実際にやったのは、拡張子が .bat のバッチ ファイルでした。実際、投票ページは投票するかどうかを制御するためにのみセッションを使用していました。ご存知のとおり、セッション変数は IE が終了すると自動的に消えます。閉じられると、ページが再度開かれるため、このページは AJAX を使用しており、実際の投票ページを見つけて、そのページを通じて ID を渡しました。投票を実施します。ここで行う必要があるのは、IE 接続の投票ページを自動的に開き、自動的に切断し、自動的に再接続することで、投票を繰り返すことです。
この投票 Web サイトには 2 つの致命的な点があります。1 つは、投票が IP によって制御されず、セッション サーバーによって制御されるため、1 つの IP で繰り返し投票が行われることです。2 つ目は、実際の投票処理ページのパラメーターが GET を通じて送信されることです。それは不正行為の可能性につながります。
上記 2 つの脆弱性を悪用して、次のような Bat バッチ プロセスも作成しました:

コードは次のとおりです:

@
echo
 off 
echo 正在关闭冗余进程,请稍等...... 
taskkill /f /im iexplore.exe 
echo -------------程序初始化完毕,请指示!---------- 
echo. & pause 
:openie 
echo 正在投票,请稍等...... 
start "" "C:\Program 
File
s\Internet Explorer\iexplore.exe" 
echo IE打开完成! 
ping 127.0.0.1 -n 2 
taskkill /f /im iexplore.exe 
echo 延时2秒关闭投票完成! 
goto
 openie 
echo. & pause

重要なポイントの説明:
taskkill /f /im iexplore.exe IE プロセスを強制的に終了します。もちろん他のプロセスを閉じることもできます。プロセス名はタスクマネージャーから確認できます。
start "" "C:Program FilesInternet Exploreriexplore.exe" これは、Windows プログラムを開き、パスに注意し、起動後に "" を失わないように注意します。
ping 127.0.0.1 -n 2 これを使用すると、bat バッチ処理の実行が非常に面倒であることがわかります。これは、ローカルの 127.0.0.1 に ping を実行する必要があることに注意してください。 -n 2 は 2 回繰り返すことを意味します。もちろん、長さは調整可能です。数値を調整するだけです。
キーポイント: Bat バッチ処理の無限 ループ。 :openie はポイントを設定することを意味します。これは任意の文字の組み合わせで構いません。キーワードを繰り返さないでください。 goto openie は、以前に設定されたポイント openie に戻ることを意味します。設定された戻りポイントは互いに対応している必要があります。

これで、上記のコードをテキストドキュメントにコピーできます。拡張子を必ず .bat に変更してください。これはバッチ処理の標準拡張子です。もちろん、98 の非常に古典的なプログラムは autoexec.bat です。興味があれば、Baidu で検索してみてください。もちろん、他のプログラムのプロセスを同様に開始または終了することもできます。
何か分からないことがあれば、私に質問してください。QQ番号はページの右下にあります。一緒に改善して進歩しましょう。笑
次のプログラムをコピーして正確に知ることができます。それが何をするのかまだ理解できない部分があります。理解力が高い人は自分で勉強してください。
ヒント: 次のプログラムは、プロセスが存在するかどうかを監視します。プロセスが存在しない場合は、プロセスも開始されます。つまり、プログラムは永久に実行されます。

コードは次のとおりです:

@echo off 
set
 _task=notepad.exe 
set _svr=c:\windows\notepad.exe 
set _des=start.bat 
:checkstart 
for
 /f "tokens=5" %%n in ('qprocess.exe ^| find "%_task%" ') do ( 
if
 %%n==%_task% (goto checkag) 
else
 goto startsvr 
) 
:startsvr 
echo %
time
% 
echo ********程序开始启动******** 
echo 程序重新启动于 %time% ,请检查系统日志 >> restart_service.txt 
echo start %_svr% > %_des% 
echo exit >> %_des% 
start %_des% 
set/p=.<nul 
for /L %%i in (1 1 10) do set /p a=.<nul&ping.exe /n 2 127.0.0.1>nul 
echo . 
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs 
cscript //b //nologo %tmp%\delay.vbs 10000 
del %_des% /Q 
echo ********程序启动完成******** 
goto checkstart 
:checkag 
echo %time% 程序运行正常,10秒后继续检查.. 
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs 
cscript //b //nologo %tmp%\delay.vbs 10000 
goto checkstart

[関連する推奨事項]

1. Windows 7でJava開発環境を構築する手順(図)

2. WindowsシステムにUlipadエディタをインストールします

3.

Pythonを使用してWindowsデスクトッププログラムを開発します

4.

Windows環境にPython2とPython3のバージョンをインストールする方法を教えます

以上がBat バッチ ファイルを使用して Windows を操作するサンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。