ネットワークセキュリティ-Windowsバッチ処理

基本的な簡単なコマンド

1.重定向
>>为追加
>为覆盖
echo ddd > zft.txt


2.type查看文件

type zft.txt

type zft.txt | more 分页显示


3.
rd . /s/q
cd ..\


4.写入多行
copy con zft.txt 复制zft.txt到屏幕
copy con 文件名.扩展名
开始编辑内容
ctrl+z结束编写


5.移动
move hah.txt  c:\


6.删除文件
del 路径/文件名

批量删文件
del *.txt 删除所有txt结尾的

del *.* 删除该目录所有


7.md feifei      创建文件
attrib +h feifei 隐藏文件
attrib +h +s +a feifei 隐藏文件  h隐藏文件夹  s提升为受保护的文件夹    a别人只有读权限
attrib -h feifei 取消隐藏文件

dir /a 观看包括隐藏文件夹

8.修改关联性
assoc .txt=exefile   所有txt改为exe
assoc .txt=txtfile   改回来

9.关机
shutdown -s -f -t 时间 定时关机 -c "显示内容"
shutdown -r -f -t 时间 定时重起
shutdown -a 取消关机


10.修改文件名
ren 旧名字 新名

バッチ処理


最後のコマンドが実行されるまで、各コマンドを上から下にバッチでバッチ処理するWindowsの役割

バッチ
ファイル名の
作成方法Batメソッド:新しいメモ帳ファイルを作成し、拡張子を.batに変更します。

バッチ処理の基本

1. @ echo off関数:

  • エコー機能、つまりシールドプロセスをオフにします。バッチの最初の行に配置することをお勧めします。

ここに画像の説明を挿入します
ここに画像の説明を挿入します

2.一時停止

  • 通常、バッチ処理は自動的に終了するため、一時停止する目的は自動終了を防ぐことです。

3.タイトルタイトル
ここに画像の説明を挿入します

4.エコー。

  • バッチスクリプトを実行するときは、空白行を残すことができます

5.setは、スクリプトのインタラクティブな割り当てで一般的に使用される変数を設定します

  • インタラクティブな割り当て:set / p time =時間を入力してください:

  • 参照変数:%time%

時間は、ユーザーが入力した制御可能な変数です。

Case
@echo off
title applet
echo ========= echoechoの
使用へようこそ
=========
set / p time =時間を入力してください:
shutdown -s -f -t%time%
echoタイマーのシャットダウンが設定されました、
一時停止を使用していただきありがとうございます

6:gotoでの使用法
:タグ名
gotoはジャンプを実現します

例:
@echo off
title一定時間にシャットダウン
色0a
:menu
echo =================
エコーメニュー
エコー1.時間指定シャットダウン
エコー2.シャットダウン
エコーをキャンセル3.終了
エコー==================

set / p num =選択:
if“%num%” ==“ 1” goto 1
if“%num%” ==“ 2” goto 2
if“%num%” ==“ 3” goto 3
echo don '
tgutoメニューをランダムに入力します

:1
set / pa =時間(単位/秒)を入力してください:
shutdown -s -f -t%a%
guto menu

:2
シャットダウン-
グートメニュー

:3
出口

バッチ処理構文の要約

1. @ echo off関数:

  • 結果のみを表示するために彼を使用してください

2.一時停止

  • プログラム実行後に自動的に閉じないようにするために使用します

3.タイトルタイトル

  • プログラムのタイトルを作成する

4.エコー。

  • バッチスクリプトを実行するときは、空白行を残すことができます

5.setは、スクリプトのインタラクティブな割り当てで一般的に使用される変数を設定します

  • 同様のユーザ入力変数を抽出するプログラミング言語で変数の値を使用する関数を持ち込みます

6:gotoでの使用

  • プログラミング言語の関数に似ています
  • :関数名
  • 関数名呼び出し関数に移動します

7.Ifステートメント

  • “%num%” ==“ 1” goto 1の場合、Pythonと同様に、gotoを使用して関数を呼び出すことができ、出力コンテンツをエコーすることもできます。

8.forループ
Windowsbatスクリプトのforステートメント基本的な形式は次のとおりです。

在cmd窗口中:for %I in (command1) do command2 
在批处理文件中:for %%I in (command1) do command2

cmdウィンドウとバッチファイル環境を区別する理由は、これら2つの環境では、コマンドステートメントの動作は基本的に同じですが、詳細が少し異なるためです。最も明らかな違いは次のとおりです。cmdウィンドウでは、後の正式な変数Iは、単一のパーセント記号、つまり%Iで引用する必要があります。バッチファイルでは、正式な変数Iは、二重のパーセント記号、つまり%% Iで引用する必要があります。便宜上、特に強調しない限り、以下の説明ではバッチファイル環境を例として取り上げます。
まず、forステートメントの基本的な要素を見てみましょう。

for、in、doはforステートメントのキーワードであり、これら3つすべてが必須です。
%% Iは、変数lがforステートメントの実行に関与していない場合でも、forステートメント内の正式な変数への参照です。doの後のステートメントのステートメントは、そのように表示される必要があります。inの
後、doの前の括弧は省略できません
。command1は文字列または変数を表し、command2は文字列、変数、またはコマンドステートメントを表します。

Windows batスクリプト(demo1と表記)のデモを見てみましょう。

@echo off
for  %%I in (ABC) do echo %%I
pause

.batファイル(バッチファイル)として保存して実行すると、ポップアップバッチウィンドウに次の情報が表示されます。

ここに画像の説明を挿入します
バッチファイルのforループは非常に単純です。forステートメントの注意事項を見て、より複雑なforループの例を実行してみましょう。

forステートメントの正式な変数Iは、26文字のいずれかに置き換えることができます。これらの文字は大文字と小文字が区別されます。つまり、%% Iと%% iは同じ変数とは見なされません。また、正式な変数Iも使用できます。ただし、変更することはない、バッチ処理における%0〜%9の10個の正式な変数と競合するためには、〜%% 9 0 %%のいずれかと%% Iを交換しないでください;
中と表現文字列または変数コマンド1によってdoの間は1つまたは複数にすることができます。各文字列または変数は要素と呼ばれます。各要素の間では、スペースバー、タブ、およびコンマを使用します。セミコロンまたは等号;
ステートメントの場合、command1の各要素を順番に抽出して割り当てますその値は仮変数Iになり、doの後にcommand2に渡されてコマンドの実行に参加します。また、一度に1つの要素のみを抽出し、この要素がもたらされるかどうかに関係なく、doの後にcommandステートメントを実行します。 command2にtocommand2の操作に参加します。doの後のステートメントが1回実行されると、command1の次の要素が抽出され、command2が再度実行されます。以下同様です。command1のすべての要素が抽出されるまで、forステートメント実行の終了を宣言します。

上記の基礎を踏まえて、次の例を見てみましょう。この例では、demo1(demo2と表記)のコンテンツの一部が変更され、結果は大きく異なります。

@echo off
for  %%I in (A,B,C) do echo %%I
pause

操作の結果は次のとおりです。

ここに画像の説明を挿入します

bbs.bathome.cnの文字列のドットをスペース、タブ、または等号に置き換えると、実行結果はdemo2の実行結果と同じになります。

それでは、demo2コードのforステートメントの実行プロセスを分析してみましょう。

1. forステートメントは、コンマを区切り文字として使用して、文字列A、B、CをA、B、およびCの3つの要素に分割します。これにより、doの後のステートメントが3回実行されることが決定されます。

2.最初の実行プロセスは次のようになります。最初に文字列bbsを仮変数Iの値として取得し、実行後にステートメントに取り込みます。つまり、echo %% Iステートメントと値を実行します。このときのIの値はAです。したがって、最初の実行の結果は文字列Aを画面に表示します。2番目の実行は、Iの値がcommand1の値に置き換えられていることを除いて、最初の実行と同じです。このとき、2番目の要素は文字列Bです。このループでは、3番目のエコーが実行された後、forステートメント全体が実行されます。このとき、pauseコマンドである次のステートメントが実行されます。

高度な使用法:

1)現在のディレクトリにあるファイルを検索しますか?

@echo off
for %%i in (*.*) do echo "%%i"
pause

2)現在のディレクトリ内のすべてのテキストファイルを検索しますか?

@echo off
for %%i in (*.txt) do echo "%%i"
pause

バッチ練習

@echo off
title 测试
color 0a
:menu
echo ===========================
echo 	   菜单
echo 	1.查看ip
echo 	2.查看端口
echo 	3.创建一个用户
echo		4.查看当前用户
echo		5.退出
echo ===========================


set /p num=您的选择:
if "%num%" == "1" goto 1
if "%num%" == "2" goto 2
if "%num%" == "3" goto 3
if "%num%" == "4" goto 4
if "%num%" == "5" goto 5
echo 别TM乱输入
goto menu 

:1
ipconfig
goto menu

:2
netstat -ano
goto menu

:3
net user zft zft /add
goto menu

:4
net user
goto menu

:5
exit

おすすめ

転載: blog.csdn.net/weixin_44110913/article/details/109173676