バットチュートリアル

参考記事

Windowsバッチ処理(cmd / bat)共通コマンドチュートリアル

バットスクリプトでのifelseifの記述

一般的なコマンド

以下にリストされているすべてのコマンドについて、コマンドにコマンド+ /?を入力して、コマンドのヘルプ情報を表示します。検索/?など

echo : 打印。如: echo "你好"。
	echo off  #从下一行开始关闭回显
	echo on #从下一行开始打开回显
rem : 注释。 如:rem 演示注释
pause : 暂停
set : 赋值。如 :set a=12
& :顺序执行多条命令,而不管命令是否执行成功。
&& : 顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令。
| :管道命令。
|| :顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令。
> :清除文件中原有的内容后再写入。
>> :追加内容到文件末尾,而不会清除原有的内容。
< :从文件中获得输入信息 ,如:date <temp.txt
^ :续行

エントリーを取得

%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*
命令行传递给批处理的参数
%0 批处理文件本身
%1 第一个参数
%9 第九个参数
%* 从第一个参数开始的所有参数

次の内容で新しいtemp.batファイルを作成します。

echo 输入第一个参数 %1,第二个参数 %2

演算結果:1番目のパラメータ1と2番目のパラメータ2を入力します

変数

変数の設定:SET変数名=変数値

参照変数:%変数名%。印刷システム変数など:%path%

インターセプト文字列

@echo off
set a=123456789

rem 全部字符串
echo %a%

rem 截取第2个字符以后的所有字符
echo %a:~2%

rem 截取第2个字符以后的3个字符
echo %a:~2,3%

rem 截取最后面的2个字符
echo %a:~-2%

演算結果:

123456789
3456789
345
89

特別な変数

@echo off

rem 当前目录
echo %CD%

rem 当前日期
echo %DATE%

rem 当前时间
echo %TIME%

rem 随机整数,介于0~32767
echo %RANDOM%

rem 当前 ERRORLEVEL 值
echo %ERRORLEVEL%

演算結果:

D:\qzn\Workspace\IdeaShuke20201205\1
2020/12/11 周五
15:46:17.88
3774
9009

set / aa = expression:評価する数式として等号の右側の文字列を指定します

set / pa =入力してください:画面に「入力してください」と表示され、入力した文字列が変数pに割り当てられます。

@echo off

set /p t1=请输入:
set /p t2=请输入:
set /a a=t1+t2
echo 结果:%a%

演算結果:

请输入:1
请输入:4
结果:5

次のようifとforの複合ステートメントで変数が一度に置き換えられることに注意してください

@echo off
set p=aaa
if %p%==aaa (
    echo %p%
    set p=bbb
    echo %p%
)

運転結果

aaa
aaa

問題を解決する:「遅延環境変数拡張」を有効にするには、!を使用します。変数を参照するには、つまり!変数名!

SETLOCAL ENABLEDELAYEDEXPANSION

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
set p=aaa
if %p%==aaa (
    echo !p!
    set p=bbb
    echo !p!
)

演算結果:

aaa
bbb

判定

temp.batファイルの内容は次のとおりです。

@echo off

set /p varA=请输入:

if "%varA%"=="A" (
    echo %varA% is A
) else if "%varA%"=="B" (
    echo %varA% is B
) else (
    echo %varA% is C
)

演算結果:

请输入:A
A is A

サイクル

@echo off

set array=(1,2,3)
for %%i in %array% do (
    echo i=%%i
)

運転結果

i=1
i=2
i=3

一般的なコマンド

以下にリストされているすべてのコマンドについて、コマンドにコマンド+ /?を入力して、コマンドのヘルプ情報を表示します。検索/?など

call :从批处理程序调用另一个批处理程序
start :启动新的“命令提示符”窗口来运行指定程序或命令
cls :清屏

フォルダ管理

cd :显示当前目录名或改变当前目录。如:cd /a
mkdir:创建目录。如:mkdir \a\b\c
rmdir :删除目录。如:rmdir \a\b\c
dir :显示目录中的文件和子目录列表。
xcopy :复制文件和目录树。格式:xcopy source [destination] [参数] 。如:xcopy util util2 /s/-y/i

ファイル管理

exist 判读文件是否存在。如:exist temp.bat
type 显示文本文件的内容。如:type temp.bat
copy 将一份或多份文件复制到另一个位置。如:copy /y temp.bat temp1.bat
del 删除一个或数个文件。如:del temp1.bat
move 移动文件并重命名文件和目录。
ren 重命名文件。
replace 替换文件。
attrib 显示或更改文件属性。
find 搜索字符串。
fc 比较两个文件或两个文件集并显示它们之间的不同

ネットワークコマンド

ping 进行网络连接测试、名称解析
ftp 文件传输
net 网络命令集及用户管理
telnet 远程登陆
ipconfig显示、修改TCP/IP设置
msg 给用户发送消息
arp 显示、修改局域网的IP地址-物理地址映射列表

システムマネジメント

at 安排在特定日期和时间运行命令和程序
shutdown立即或定时关机或重启
tskill 结束进程
taskkill结束进程(比tskill高级,但WinXPHome版中无该命令)
tasklist显示进程列表(Windows XP Home Edition中没有)
sc 系统服务设置与控制
reg 注册表控制台工具
powercfg控制系统上的电源设置

その他の指示

xcopy:ファイルとディレクトリツリーをコピーします。形式:xcopyソース[宛先] [パラメーター]

/p           创建每个目标文件之前提示您。
/s           复制目录和子目录,不包括空目录。
/e           复制目录和子目录,包括空目录。与 /s /e 相同。可以用来修改 /t。
/v           验证每个新文件的大小。
/w           提示您在复制前按键。
/c           即使有错误,也继续复制。
/i           如果目标不存在,且要复制多个文件,则假定目标必须是目录。
/q           复制时不显示文件名。
/f           复制时显示完整的源文件名和目标文件名。
/l           显示要复制的文件。
/g           允许将加密文件复制到不支持加密的目标。
/h           也复制隐藏文件和系统文件。
/r           覆盖只读文件。
/t           创建目录结构,但不复制文件。不包括空目录或子目录。/t /e 包括
		   空目录和子目录。
/u           只复制已经存在于目标中的文件。
/k           复制属性。一般的 xcopy 会重设只读属性。
/n           用生成的短名称复制。
/o           复制文件所有权和 acl 信息。
/x           复制文件审核设置(隐含 /o)。
/y           取消提示以确认要覆盖现有目标文件。
/-y          要提示以确认要覆盖现有目标文件。
/z           在可重新启动模式下复制网络文件。
/b           复制符号链接本身与链接目标相对。
/j           复制时不使用缓冲的 i/o。推荐复制大文件时使用。

copy1つ以上のファイルを別の場所にコピーします。形式:コピー[パラメータ]ソース[/ a | / b] [+ソース[/ a | / b] [+…]] [宛先[/ a | / b]]

  source       指定要复制的文件。
  /a           表示一个 ascii 文本文件。
  /b           表示一个二进位文件。
  /d           允许解密要创建的目标文件
  destination  为新文件指定目录和/或文件名。
  /v           验证新文件写入是否正确。
  /n           复制带有非 8dot3 名称的文件时,
               尽可能使用短文件名。
  /y           不使用确认是否要覆盖现有目标文件
               的提示。
  /-y          使用确认是否要覆盖现有目标文件
               的提示。
  /z           用可重新启动模式复制已联网的文件。
  /l           如果源是符号链接,请将链接复制
               到目标而不是源链接指向的实际文件。

ファイルを移動するために移動します。形式:移動[/ y | / -y] [ドライブ:] [パス] dirname1 dirname2

  [drive:][path]filename1 指定您想移动的文件位置和名称。
  destination             指定文件的新位置。目标可包含一个驱动器号
                          和冒号、一个目录名或组合。如果只移动一个文件
                          并在移动时将其重命名,您还可以包括文件名。
  [drive:][path]dirname1  指定要重命名的目录。
  dirname2                指定目录的新名称。
  /y                      取消确认覆盖一个现有目标文件的提示。
  /-y                     对确认覆盖一个现有目标文件发出提示。

おすすめ

転載: blog.csdn.net/fangye1/article/details/111035070