当前位置:   article > 正文

windows系统之常用DOC命令汇总以及如何编写BAT脚本文件_windows脚本怎么编写

windows脚本怎么编写

DOC命令及编写BAT脚本

常用的 DOC 命令

windows 常用指令

按快捷键“Windows+R”调出“运行”

  • osk 【屏幕键盘】:打开屏幕键盘
  • explorer 【资源管理器】:打开文件资源管理器,快捷启动或者“windows+E”快捷键。
  • cmd 【命令提示符】:打开命令提示符
  • calc 【计算器】:打开计算器
  • taskmgr 【任务管理器】:任务管理器。ctrl+alt+del组合键功能一致。
  • regedit 【注册表编辑器】:打开注册表编辑器
  • gpedit.msc 【本地组策略】:打开本地组策略
  • msconfig 【系统配置】:打开系统配置
  • control 【打开命令面板】:打开控制面板
  • logoff 【注销计算机】:直接注销计算机

HELP - 查看帮助

REM - 记录批处理文件或 CONFIG.SYS 中的注释(批注)

# 注释
rem 这是一段注释

# 注释了一个echo语句
rem echo 123

# 简写
$ :: 这是一段注释
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

CHCP - 显示或设置活动代码页数

# 把当前命令行窗体的字符编码格式改为 utf-8
$ chcp 65001
  • 1
  • 2

以下是几种常用的编码:

  • 936 GBK(简体中文,一般情况下为默认编码)
  • 437 MS-DOS 美国英语
  • 65001 utf-8
  • 1252 拉丁 1 字符 (ANSI)

COLOR - 置默认控制台前景和背景颜色

# 把当前命令行窗体的背景色改为白色,字体颜色改为蓝色
$ color 71
  • 1
  • 2

color的色值对应关系

0 = 黑色       8 = 灰色
1 = 蓝色       9 = 淡蓝色
2 = 绿色       A = 淡绿色
3 = 浅绿色     B = 淡浅绿色
4 = 红色       C = 淡红色
5 = 紫色       D = 淡紫色
6 = 黄色       E = 淡黄色
7 = 白色       F = 亮白色
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

(RD | RMDIR) - 删除目录

rd test
rmdir test2
  • 1
  • 2

DEL - 删除至少一个文件

$ del ./*.js
  • 1
DEL 语法格式
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

  names         指定一个或多个文件或者目录列表。
                通配符可用来删除多个文件。
                如果指定了一个目录,该目录中的所
                有文件都会被删除。

  /P            删除每一个文件之前提示确认。
  /F            强制删除只读文件。
  /S            删除所有子目录中的指定的文件。
  /Q            安静模式。删除全局通配符时,不要求确认
  /A            根据属性选择要删除的文件
  属性          R  只读文件            S  系统文件
                H  隐藏文件            A  准备存档的文件
                I  无内容索引文件      L  重新分析点
                O  脱机文件            -  表示“否”的前缀

如果命令扩展被启用,DEL 和 ERASE 更改如下:

/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

TITLE - 设置 CMD.EXE 会话的窗口标题

TASKKILL - 中止或停止正在运行的进程或应用程序

# 显示所有活动的进程或者应用程序列表
$ tasklist

# 终止 名称为 nginx.exe 的应用程序
$ taskkill /im nginx.exe /f

# 终止 名称为 nginx 的应用程序以及由它启动的子进程
$ taskkill /im nginx.* /t /f
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

注意:
当在 .bat 文件中使用 taskkill 命令行时,如果遇到错误会导致循环调用,且命令需要 ctrl + c 关闭。解决的方法有以下几种:

  1. taskkill 命令之后加参数 /c, 如:taskkill /f /im nginx.exe /c
  2. 使用管理员方式启动.bat文件
  3. .bat文件名不能与内置命令行重名,如 taskkill.bat
  4. .bat文件中使用完整路径执行命令,如C:/Windows/System32/taskkill.exe /f /im nginx.exe
TASKKILL 语法:
TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

描述:
    使用该工具按照进程 ID (PID) 或映像名称终止任务。

参数列表:
    /S    system           指定要连接的远程系统。

    /U    [domain\]user    指定应该在哪个用户上下文执行这个命令。

    /P    [password]       为提供的用户上下文指定密码。如果忽略,提示输入。

    /FI   filter           应用筛选器以选择一组任务。允许使用 "*"。例如,映像名称 eq acme*

    /PID  processid        指定要终止的进程的 PID。使用 TaskList 取得 PID。

    /IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来指定所有任务或映像名称。

    /T                     终止指定的进程和由它启用的子进程。

    /F                     指定强制终止进程。

    /?                     显示帮助消息。

筛选器:
    筛选器名      有效运算符                有效值
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING | NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    映像名称
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    会话编号。
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为 hh:mm:ss。 hh - 时, mm - 分,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
    USERNAME      eq, ne                    用户名,格式为 [domain\]user
    MODULES       eq, ne                    DLL 名称
    SERVICES      eq, ne                    服务名称
    WINDOWTITLE   eq, ne                    窗口标题

    说明
    ----
    1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'2) 远程进程总是要强行 (/F) 终止。
    3) 当指定远程机器时,不支持 "WINDOWTITLE""STATUS" 筛选器。

例如:
    TASKKILL /IM notepad.exe
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM cmd.exe /T
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U 域\用户名 /FI "用户名 ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

IF/ELSE 条件判断

IF %ERRORLEVEL% 0 GOTO SUCCESS
ELSE GOTO ERROR
:SUCCESS
ECHO 执行成功
EXIT
:ERROR
ECHO 执行失败
EXIT
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

NETSTAT - 查看本地活动连接

NET 语法:
可用的命令为:

  NET ACCOUNTS             NET HELPMSG              NET STATISTICS
  NET COMPUTER             NET LOCALGROUP           NET STOP
  NET CONFIG               NET PAUSE                NET TIME
  NET CONTINUE             NET SESSION              NET USE
  NET FILE                 NET SHARE                NET USER
  NET GROUP                NET START                NET VIEW
  NET HELP
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

查找指定的端口

# 查找8080端口的进程
$ netstat -aon|findstr "8080"

# 强制杀掉8080端口的进程
$ taskkill /pid 4236 /f
  • 1
  • 2
  • 3
  • 4
  • 5

(MD | MKDIR) - 创建一个目录

$ md test
$ mkdir test2
  • 1
  • 2

TYPE - 显示文本文件的内容

$ type a.txt
  • 1

MORE - 逐屏显示输出

$ more a.txt
  • 1

MOVE - 将一个或多个文件从一个目录移动到另一个目录

$ move ./* ../test/
  • 1

FIND - 在一个或多个文件中搜索一个文本字符串

type a.txt | find "7626" && echo "恭喜你找到了"
  • 1

(REN | RENAME) - 重命名文件

$ ren main.js index.js
$ rename main.js index.js
  • 1
  • 2

SET - 显示、设置或删除 Windows 环境变量

# 命令行输出输入的内容
$ set /p input=请输入: & echo 您输入的内容是:%input%

# 设置变量
$ set path="D:\"
$ set STR = this is a var
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

EXIT - 退出 CMD.EXE 程序(命令解释程序)

START - 启动单独的窗口以运行指定的程序或命令

$ start nginx.exe
  • 1

PAUSE - 暂停批处理文件的处理并显示消息

PRINT - 打印一个文本文件

print a.txt
  • 1

COPY - 将至少一个文件复制到另一个位置

$ copy ./*.js ../test/
  • 1

FC - 比较两个文件或两个文件集并显示它们之间的不同

$ fc main.js main2.js
  • 1
FC 语法格式
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
   [drive1:][path1]filename1 [drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2

  /A         只显示每个不同处的第一行和最后一行。
  /B         执行二进制比较。
  /C         不分大小写。
  /L         将文件作为 ASCII 文字比较。
  /LBn       将连续不匹配的最大值设置为指定的行数。
  /N         在 ASCII 比较上显示行数。
  /OFF[LINE] 不要跳过带有脱机属性集的文件。
  /T         不要将制表符扩充到空格。
  /U         将文件作为 UNICODE 文本文件比较。
  /W         为了比较而压缩空白(制表符和空格)。
  /nnnn      指定不匹配处后必须连续匹配的行数。
  [drive1:][path1]filename1
             指定要比较的第一个文件或第一个文件集。
  [drive2:][path2]filename2
             指定要比较的第二个文件或第二个文件集。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

TIMEOUT - 这个工具接受超时参数,等候一段指定的时间(秒)或等按任意键。它还接受一个参数,忽视按键

# 延迟16秒后执行下面的语句
$ timeout /nobreak /t 16
  • 1
  • 2
TIMEOUT 语法格式
TIMEOUT [/T] timeout [/NOBREAK]

描述:
    这个工具接受超时参数,等候一段指定的时间(秒)或等按任意键。它还接受一个参数,忽视按键。

参数列表:
    /T        timeout       指定等候的秒数。有效范围从 -1 到 99999 秒。

    /NOBREAK                忽略按键并等待指定的时间。

    /?                      显示此帮助消息。

注意: 超时值 -1 表示无限期地等待按键。

示例:
    TIMEOUT /?
    TIMEOUT /T 10
    TIMEOUT /T 300 /NOBREAK
    TIMEOUT /T -1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

EXPLORER - 文件资源管理器

# 打开文件资源管理器
$ explorer

# 打开colud-provider-payment8001-1.0-SNAPSHOT.jar文件
# 如果是文件夹则打开文件夹,如果是个执行文件则运行文件
$ explorer "colud-provider-payment8001-1.0-SNAPSHOT.jar"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

编写脚本文件

一键启动前后端服务

新建一个restart.bat文件

@echo off
rem "这是一个服务启动脚本文件!"
@echo "===进入Nginx可执行脚本路径==="
@echo "===进入D盘==================="
D:
@echo "===进入Nginx可执行脚本路径==="
cd Program Files/nginx-1.21.1
@echo "===杀掉所有nginx进程========="
rem tskill nginx.exe 命令在某些电脑上会失效,可以采用下面这种方式
taskkill /im nginx.exe /f
@echo "===查看Nginx的版本号========="
nginx.exe -v
@echo "===检验Nginx的配置==========="
nginx.exe -t
@echo "===启动Nginx服务============="
start nginx.exe
@echo "===在资源管理器中启用jar包===="
explorer "D:\java\colud-provider-payment8001-1.0-SNAPSHOT.jar"
@echo "===延迟5秒===================="
timeout /nobreak /t 5
@echo "===退出程序==================="
exit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • @echo off 表示屏幕不显示bat文件中所有的命令行
  • @echo表示打印的内容
  • rem表示注释内容
  • puase表示暂停,否则 dos 界面会一闪而过

可以将前端打包后的静态资源文件和后端打包后的jar包放在同一个文件夹中,并在该文件夹中放置启动脚本文件,同时新建启动脚本的快捷方式,放在桌面,这样就更方面用户一键操作,目录结构如下:

 └─demo
    ├─css
    ├─dist # 前端打包资源文件夹
    ├─img
    ├─js
    ├─index.html
    ├─colud-provider-payment8001-1.0-SNAPSHOT.jar # 后端打包jar包
    └─restart.bat # 启动脚本
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

升级版脚本:

cd nginx-1.21.1
taskkill /im nginx.exe /f
start nginx.exe
cd ../
explorer "colud-provider-payment8001-1.0-SNAPSHOT.jar"
exit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

git 代码提交脚本

@echo off
rem "这是一个git 代码提交脚本文件"
echo "------Begin-----" #输出字符,"------Begin------"
set /p msg=请输入提交注释
git add -a
git commit -m %msg%
git push origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

DOC 命令行指令集合

DOC 命令行集合
ASSOC          # 显示或修改文件扩展名关联。
ATTRIB         # 显示或更改文件属性。
BREAK          # 设置或清除扩展式 CTRL+C 检查。
BCDEDIT        # 设置启动数据库中的属性以控制启动加载。
CACLS          # 显示或修改文件的访问控制列表(ACL)。
CALL           # 从另一个批处理程序调用这一个。
CD             # 显示当前目录的名称或将其更改。
CHCP           # 显示或设置活动代码页数。
CHDIR          # 显示当前目录的名称或将其更改。
CHKDSK         # 检查磁盘并显示状态报告。
CHKNTFS        # 显示或修改启动时间磁盘检查。
CLS            # 清除屏幕。
CMD            # 打开另一个 Windows 命令解释程序窗口。
COLOR          # 设置默认控制台前景和背景颜色。
COMP           # 比较两个或两套文件的内容。
COMPACT        # 显示或更改 NTFS 分区上文件的压缩。
CONVERT        # 将 FAT 卷转换成 NTFS。你不能转换当前驱动器。
COPY           # 将至少一个文件复制到另一个位置。
DATE           # 显示或设置日期。
DEL            # 删除至少一个文件。
DIR            # 显示一个目录中的文件和子目录。
DISKPART       # 显示或配置磁盘分区属性。
DOSKEY         # 编辑命令行、撤回 Windows 命令并创建宏。
DRIVERQUERY    # 显示当前设备驱动程序状态和属性。
ECHO           # 显示消息,或将命令回显打开或关闭。
ENDLOCAL       # 结束批文件中环境更改的本地化。
ERASE          # 删除一个或多个文件。
EXIT           # 退出 CMD.EXE 程序(命令解释程序)。
FC             # 比较两个文件或两个文件集并显示它们之间的不同。
FIND           # 在一个或多个文件中搜索一个文本字符串。
FINDSTR        # 在多个文件中搜索字符串。
FOR            # 为一组文件中的每个文件运行一个指定的命令。
FORMAT         # 格式化磁盘,以便用于 Windows。
FSUTIL         # 显示或配置文件系统属性。
FTYPE          # 显示或修改在文件扩展名关联中使用的文件类型。
GOTO           # 将 Windows 命令解释程序定向到批处理程序中某个带标签的行。
GPRESULT       # 显示计算机或用户的组策略信息。
GRAFTABL       # 使 Windows 在图形模式下显示扩展字符集。
HELP           # 提供 Windows 命令的帮助信息。
ICACLS         # 显示、修改、备份或还原文件和目录的 ACL。
IF             # 在批处理程序中执行有条件的处理操作。
LABEL          # 创建、更改或删除磁盘的卷标。
MD             # 创建一个目录。
MKDIR          # 创建一个目录。
MKLINK         # 创建符号链接和硬链接
MODE           # 配置系统设备。
MORE           # 逐屏显示输出。
MOVE           # 将一个或多个文件从一个目录移动到另一个目录。
OPENFILES      # 显示远程用户为了文件共享而打开的文件。
PATH           # 为可执行文件显示或设置搜索路径。
PAUSE          # 暂停批处理文件的处理并显示消息。
POPD           # 还原通过 PUSHD 保存的当前目录的上一个值。
PRINT          # 打印一个文本文件。
PROMPT         # 更改 Windows 命令提示。
PUSHD          # 保存当前目录,然后对其进行更改。
RD             # 删除目录。
RECOVER        # 从损坏的或有缺陷的磁盘中恢复可读信息。
REM            # 记录批处理文件或 CONFIG.SYS 中的注释(批注)。
REN            # 重命名文件。
RENAME         # 重命名文件。
REPLACE        # 替换文件。
RMDIR          # 删除目录。
ROBOCOPY       # 复制文件和目录树的高级实用工具
SET            # 显示、设置或删除 Windows 环境变量。
SETLOCAL       # 开始本地化批处理文件中的环境更改。
SC             # 显示或配置服务(后台进程)。
SCHTASKS       # 安排在一台计算机上运行命令和程序。
SHIFT          # 调整批处理文件中可替换参数的位置。
SHUTDOWN       # 允许通过本地或远程方式正确关闭计算机。
SORT           # 对输入排序。
START          # 启动单独的窗口以运行指定的程序或命令。
SUBST          # 将路径与驱动器号关联。
SYSTEMINFO     # 显示计算机的特定属性和配置。
TASKLIST       # 显示包括服务在内的所有当前运行的任务。
TASKKILL       # 中止或停止正在运行的进程或应用程序。
TIME           # 显示或设置系统时间。
TITLE          # 设置 CMD.EXE 会话的窗口标题。
TREE           # 以图形方式显示驱动程序或路径的目录结构。
TYPE           # 显示文本文件的内容。
VER            # 显示 Windows 的版本。
VERIFY         # 告诉 Windows 是否进行验证,以确保文件正确写入磁盘。
VOL            # 显示磁盘卷标和序列号。
XCOPY          # 复制文件和目录树。
WMIC           # 在交互式命令 shell 中显示 WMI 信息。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/177197
推荐阅读
相关标签
  

闽ICP备14008679号