2023-05-09
linux
00
请注意,本文编写于 507 天前,最后修改于 465 天前,其中某些信息可能已经过时。

目录

[bat笔记 ]😝
第一天
1、命令格式
第二天
1、列出系统进程 tasklist
2、查看系统信息 systeminfo
3、杀死进程 taskkill
4、目录树命令 tree
5、关机命令 shutdown
6、任务计划命令 schtasks (没学会)
7、变量 set
8、文件查看命令 dir
9、创建目录 mkdir/md
扩展 进入目录(chdir) 删除目录(rd)
10、重命名 ren
11、拷贝 copy
12、删除文件 del
13、文件剪切命令 move
14、用户管理命令 net user
15、用户组管理命令 net localgroup
16、if语句
17、for语句
18、goto跳转
19、例
第三天
20、收集

[bat笔记 ]😝

相关信息

只有一小部分,如果你的工作系统是windows的话,推荐去学Powershell

第一天

1、命令格式

powershell
@echo off ::取消显示cmd界面路径 cls ::清屏 chcp 65001 ::使用中文输出 net user ::用户管理命令 详细用法 cmd界面输入:net user /help %1 ::第一个位置变量 %2 %3 ………以此类推 echo %1 ::输出第一个位置变量值 pause ::请按任意键结束…… title USERADD ::cmd命令窗口标题为USERADD date /t ::显示当前日期 格式为2022/12/03 周六 #不加/t是修改日期 time /t ::显示当前时间 格式为 12:34 #同上,不加/t是修改时间 start ::启动一个新的cmd界面,start "new cmd" 这样新开的cmd标题就会是new cmd start test.bat username password ::使用test.bat新启动一个cmd,并且会加两个位置变量 call name.bat ::运行另一个批处理

第二天

1、列出系统进程 tasklist

powershell
tasklist ::相当于ps,列出任务信息以及pid 详细参数使用tasklist /? 列出详细信息 ······································································································ F:\桌面>tasklist /? TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH] 描述: 该工具显示在本地或远程机器上当前运行的进程列表。 参数列表: /S system 指定连接到的远程系统。 /U [domain\]user 指定应该在哪个用户上下文执行这个命令。 /P [password] 为提供的用户上下文指定密码。如果省略,则 提示输入。 /M [module] 列出当前使用所给 exe/dll 名称的所有任务。 如果没有指定模块名称,显示所有加载的模块。 /SVC 显示每个进程中主持的服务。 /APPS 显示 Microsoft Store 应用及其关联的进程。 /V 显示详细任务信息。 /FI filter 显示一系列符合筛选器 指定条件的任务。 /FO format 指定输出格式。 有效值: "TABLE"、"LIST"、"CSV"。 /NH 指定列标题不应该 在输出中显示。 只对 "TABLE" 和 "CSV" 格式有效。 /? 显示此帮助消息。 筛选器: 筛选器名称 有效运算符 有效值 ----------- --------------- -------------------------- STATUS eq, ne RUNNING | SUSPENDED NOT RESPONDING | UNKNOWN IMAGENAME eq, ne 映像名称 PID eq, ne, gt, lt, ge, le PID 值 SESSION eq, ne, gt, lt, ge, le 会话编号 SESSIONNAME eq, ne 会话名称 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 用户名,格式为 [域\]用户 SERVICES eq, ne 服务名称 WINDOWTITLE eq, ne 窗口标题 模块 eq, ne DLL 名称 注意: 当查询远程计算机时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。 Examples: TASKLIST TASKLIST /M TASKLIST /V /FO CSV TASKLIST /SVC /FO LIST TASKLIST /APPS /FI "STATUS eq RUNNING" TASKLIST /M wbem* TASKLIST /S system /FO LIST TASKLIST /S system /U 域\用户名 /FO CSV /NH TASKLIST /S system /U username /P password /FO TABLE /NH TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running" ····································································································· 1、按照服务状态进行过滤 tasklist /fi "status {eq/ne} {服务状态}" 例:列出所有正在运行的服务 F:\桌面>tasklist /fi "status eq running" 映像名称 PID 会话名 会话# 内存使用 ========================= ======== ================ =========== ============ csrss.exe 1236 Console 1 7,400 K dwm.exe 1780 Console 1 121,468 K NVDisplay.Container.exe 3840 Console 1 49,936 K …………………… 2、按照pid号进行查询 tasklist /fi "pid {eq/ne} {pidnum}" 例:列出pid等于9908的服务 F:\桌面>tasklist /fi "pid eq 9648" 映像名称 PID 会话名 会话# 内存使用 ========================= ======== ================ =========== ============ svchost.exe 9648 Services 0 6,960 K 3、按照映像名称插叙 tasklist /fi "imagename {eq/ne} {映像名称}" 例:列出映像名叫cmd.txt的信息 F:\桌面>tasklist /fi "imagename eq cmd.exe" 映像名称 PID 会话名 会话# 内存使用 ========================= ======== ================ =========== ============ cmd.exe 19488 Console 1 6,708 K 4、查看远程主机的进程信息 tasklist /s {IP} /u {UAERNAME} /p {PASSWORD} 例:tasklist /s 192.168.44.229 /u test /p 123@.com

2、查看系统信息 systeminfo

powershell
systeminfo ::列出系统基本信息 用法如下 systeminfo /? ········································································································ F:\桌面>systeminfo /? SYSTEMINFO [/S system [/U username [/P [password]]]] [/FO format] [/NH] 描述: 该工具显示本地或远程机器(包括服务包级别)的操作系统配置的信息。 参数列表: /S system 指定要连接的远程系统。 /U [domain\]user 指定应该在哪个用户上下文执行命令。 /P [password] 指定给定用户上下文的密码。如果省略则 提示输入。 /FO format 指定显示结果的格式。 有效值: "TABLE"、"LIST"、"CSV"。 /NH 指定“列标题”不应该在输出中显示。 只对 "TABLE" 和 "CSV" 格式有效。 /? 显示帮助消息。 例如: SYSTEMINFO SYSTEMINFO /? SYSTEMINFO /S system SYSTEMINFO /S system /U user SYSTEMINFO /S system /U domain\user /P password /FO TABLE SYSTEMINFO /S system /FO LIST SYSTEMINFO /S system /FO CSV /NH ····································································································

3、杀死进程 taskkill

powershell
taskkill ::杀死进程 用法: taskkill /? ········································································································ E:\桌面>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、杀掉进程名为notepad.exe的进程 taskkill /fi "imagename eq notepad.exe" taskkill /im notepad* taskkill /pid {进程的pid号} #/fi和/im 后面填写的进程名都可以使用*作为通配符 2、强制杀cmd.exe进程以及他的子进程 强制杀死进程:/f 杀子进程:/t taskkill /f /im cmd.* /t

4、目录树命令 tree

powershell
tree 以树状图显示目录及文件 ········································································································· E:\>tree /? 以图形显示驱动器或路径的文件夹结构。 TREE [drive:][path] [/F] [/A] /F 显示每个文件夹中文件的名称。 /A 使用 ASCII 字符,而不使用扩展字符。 ········································································································· 1、显示C:/windwos目录下的目录结构 tree C:/windows 2、显示目录下的目录结构及文件 tree C:/windows /f

5、关机命令 shutdown

powershell
shutdown 操作计算机的电源 ··········································································································· E:\>shutdown /? 用法: shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]] 没有参数 显示帮助。这与键入 /? 是一样的。 /? 显示帮助。这与不键入任何选项是一样的。 /i 显示图形用户界面(GUI)。 这必须是第一个选项。 /l 注销。这不能与 /m 或 /d 选项一起使用。 /s 关闭计算机。 /sg 关闭计算机。在下一次启动时,如果启用了 自动重启登录,则将自动登录并锁定上次交互用户。 登录后,重启任何已注册的应用程序。 /r 完全关闭并重启计算机。 /g 完全关闭并重启计算机。重新启动系统后, 如果启用了自动重启登录,则将自动登录并 锁定上次交互用户。 登录后,重启任何已注册的应用程序。 /a 中止系统关闭。 这只能在超时期间使用。 与 /fw 结合使用,以清除任何未完成的至固件的引导。 /p 关闭本地计算机,没有超时或警告。 可以与 /d 和 /f 选项一起使用。 /h 休眠本地计算机。 可以与 /f 选项一起使用。 /hybrid 执行计算机关闭并进行准备以快速启动。 必须与 /s 选项一起使用。 /fw 与关闭选项结合使用,使下次启动转到 固件用户界面。 /e 记录计算机意外关闭的原因。 /o 转到高级启动选项菜单并重新启动计算机。 必须与 /r 选项一起使用。 /m \\computer 指定目标计算机。 /t xxx 将关闭前的超时时间设置为 xxx 秒。 有效范围是 0-315360000 (10 年),默认值为 30。 如果超时期限大于 0,则 /f 参数为 /f 参数。 /c "comment" 注释重启或关闭的原因。 最多允许 512 个字符。 /f 强制关闭正在运行的应用程序而不事先警告用户。 当大于 0 的值为 时,隐含 /f 参数 则默示为 /f 参数。 /d [p|u:]xx:yy 提供重新启动或关闭的原因。 p 指示重启或关闭是计划内的。 u 指示原因是用户定义的。 如果未指定 p 和 u,则 重新启动或关闭 是计划外的。 xx 是主要原因编号(小于 256 的正整数)。 yy 是次要原因编号(小于 65536 的正整数)。 此计算机上的原因: (E = 预期 U = 意外 P = 计划内,C = 自定义) 类别 主要 次要 标题 U 0 0 其他(计划外) E 0 0 其他(计划外) ……………………………… ··········································································································· 1、

6、任务计划命令 schtasks (没学会)

官方教程 案例

powershell
schtasks ::和linux中的crontab类似 ········································································································ 用法:schtasks /? C:\Windows\System32>schtasks.exe /? SCHTASKS /parameter [arguments] 描述: 允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任 务。 参数列表: /Create 创建新计划任务。 /Delete 删除计划任务。 /Query 显示所有计划任务。 /Change 更改计划任务属性。 /Run 按需运行计划任务。 /End 中止当前正在运行的计划任务。 /ShowSid 显示与计划的任务名称相应的安全标识符。 /? 显示此帮助消息。 Examples: SCHTASKS SCHTASKS /? SCHTASKS /Run /? SCHTASKS /End /? SCHTASKS /Create /? SCHTASKS /Delete /? SCHTASKS /Query /? SCHTASKS /Change /? SCHTASKS /ShowSid /? ·········································································································· 1、

7、变量 set

powershell
set 显示和设置变量值 用法: ········································································································· C:\Windows\System32>set /? 显示、设置或删除 cmd.exe 环境变量。 SET [variable=[string]] variable 指定环境变量名。 string 指定要指派给变量的一系列字符串。 要显示当前环境变量,键入不带参数的 SET。 如果命令扩展被启用,SET 会如下改变: 可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配 SET 命令已使用的名称的所有变量的值。例如: SET P 会显示所有以字母 P 打头的变量 如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL 设置成 1。 SET 命令不允许变量名含有等号。 在 SET 命令中添加了两个新命令行开关: SET /A expression SET /P variable=[promptString] /A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式 评估器很简单并以递减的优先权顺序支持下列操作: () - 分组 ! ~ - - 一元运算符 * / % - 算数运算符 + - - 算数运算符 << >> - 逻辑移位 & - 按位“与” ^ - 按位“异” | - 按位“或” = *= /= %= += -= - 赋值 &= ^= |= <<= >>= , - 表达式分隔符 如果你使用任何逻辑或取余操作符, 你需要将表达式字符串用 引号扩起来。在表达式中的任何非数字字符串键作为环境变量 名称,这些环境变量名称的值已在使用前转换成数字。如果指定 了一个环境变量名称,但未在当前环境中定义,那么值将被定为 零。这使你可以使用环境变量值做计算而不用键入那些 % 符号 来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的, 那么它显示该表达式的最后值。该分配的操作符在分配的操作符 左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制 有 0 前缀的,数字值为十进位数字。因此,0x12 与 18 和 022 相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字, 因为 8 和 9 不是有效的八进制位数。(& ) /P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入 行之前,显示指定的 promptString。promptString 可以是空的。 环境变量替换已如下增强: %PATH:str1=str2% 会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。 要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。 "str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的 开始到 str1 剩余部分第一次出现的地方,都一直保持相配。 也可以为扩展名指定子字符串。 %PATH:~10,5% 会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏 移量 10)字符开始的五个字符。如果没有指定长度,则采用默认 值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数, 使用的数字则是环境变量数值长度加上指定的偏移量或长度。 %PATH:~-10% 会提取 PATH 变量的最后十个字符。 %PATH:~0,-2% 会提取 PATH 变量的所有字符,除了最后两个。 终于添加了延迟环境变量扩充的支持。该支持总是按默认值被 停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/停用。 请参阅 CMD /? 考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境 变量扩充是很有用的,而不是执行的时候。以下例子说明直接 变量扩充的问题: set VAR=before if "%VAR%" == "before" ( set VAR=after if "%VAR%" == "after" @echo If you see this, it worked ) 不会显示消息,因为在读到第一个 IF 语句时,BOTH IF 语句中 的 %VAR% 会被代替;原因是: 它包含 IF 的文体,IF 是一个 复合语句。所以,复合语句中的 IF 实际上是在比较 "before" 和 "after",这两者永远不会相等。同样,以下这个例子也不会达到 预期效果: set LIST= for %i in (*) do set LIST=%LIST% %i echo %LIST% 原因是,它不会在目前的目录中建立一个文件列表,而只是将 LIST 变量设成找到的最后一个文件。这也是因为 %LIST% 在 FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变量 是空的。因此,我们真正执行的 FOR 循环是: for %i in (*) do set LIST= %i 这个循环继续将 LIST 设成找到的最后一个文件。 延迟环境变量扩充允许你使用一个不同的字符(惊叹号)在执行 时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面 例子写成以下所示,以达到预期效果: set VAR=before if "%VAR%" == "before" ( set VAR=after if "!VAR!" == "after" @echo If you see this, it worked ) set LIST= for %i in (*) do set LIST=!LIST! %i echo %LIST% 如果命令扩展被启用,有几个动态环境变量可以被扩展,但不会出现在 SET 显示的变 量列表中。每次变量数值被扩展时,这些变量数值都会被动态计算。如果用户用这些 名称中任何一个明确定义变量,那个定义会替代下面描述的动态定义: %CD% - 扩展到当前目录字符串。 %DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。 %TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。 %RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。 %ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。 %CMDEXTVERSION% - 扩展到当前命令处理器扩展版本号。 %CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。 %HIGHESTNUMANODENUMBER% - 扩展到此计算机上的最高 NUMA 节点号。 ········································································································

8、文件查看命令 dir

powershell
dir 查看文件的命令 ································································· C:\Windows\System32>dir /? 显示目录中的文件和子目录列表。 DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4] [drive:][path][filename] 指定要列出的驱动器、目录和/或文件。 /A 显示具有指定属性的文件。 属性 D 目录 R 只读文件 H 隐藏文件 A 准备存档的文件 S 系统文件 I 无内容索引文件 L 重新分析点 O 脱机文件 - 表示“否”的前缀 /B 使用空格式(没有标题信息或摘要)。 /C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来 禁用分隔符显示。 /D 跟宽式相同,但文件是按栏分类列出的。 /L 用小写。 /N 新的长列表格式,其中文件名在最右边。 /O 用分类顺序列出文件。 排列顺序 N 按名称(字母顺序) S 按大小(从小到大) E 按扩展名(字母顺序) D 按日期/时间(从先到后) G 组目录优先 - 反转顺序的前缀 /P 在每个信息屏幕后暂停。 /Q 显示文件所有者。 /R 显示文件的备用数据流。 /S 显示指定目录和所有子目录中的文件。 /T 控制显示或用来分类的时间字符域 时间段 C 创建时间 A 上次访问时间 W 上次写入的时间 /W 用宽列表格式。 /X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式, 短名称插在长名称前面。如果没有短名称,在其位置则 显示空白。 /4 以四位数字显示年份 可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号) 来替代预先设定的开关。例如,/-W。 ································································· 1、显示目录下的 隐藏文件 dir E:\工作 /ah 目录文件 dir E:\工作 /ad 只读文件 dir E:\工作 /ar 系统文件 dir E:\工作 /as 2、显示目录 并排列顺序 按照名称排序(字母顺序) dir E:\工作 /on 按照大小排序(从小到大) dir E:\工作 /os 按照扩展名排序(字母顺序) dir E:\工作 /oe 按照日期时间(从先到后) dir E:\工作 /od #“-” 反转顺序 例如 dir E:\工作 /o-s 本来是按照大小从小到大排序的,加了-后,就变成从大到小降序了 3、显示文件所有者 dir E:\工作 /q 4、显示所有目录及子目录中的所有文件,包括隐藏文件 dir E:\工作 /s 5、显示文件各种时间 显示文件创建时间 dir E:\工作 /tc 显示文件上次访问时间 dir E:\工作 /ta 显示文件上次写入时间 dir E:\工作 /tw

9、创建目录 mkdir/md

powershell
mkdir md ::创建目录 md是mkdir的缩写 用法: ··················································· E:\Python_file>mkdir /? 创建目录。 MKDIR [drive:]path MD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \a 不 存在,那么: mkdir \a\b\c\d 与: mkdir \a chdir \a mkdir b chdir b mkdir c chdir c mkdir d 相同。如果扩展被停用,则需要键入 mkdir \a\b\c\d。 ··················································· 1、批量层级创建目录 mkdir no1\no2\no3 这里就创建了三个目录,no2在no1里,no3在no2里

扩展 进入目录(chdir) 删除目录(rd)

powershell
进入目录: chdir :cd是chdir的缩写 只输入cd 后面不跟路径就会显示当前所在位置,作用和linux中的pwd一样 删除目录: rd / rmdir rd和rmdir效果是一样的,rd是rmdir的缩写 这两个命令只会删除空目录,如果目录中有内容是不会删除的 /s :删除除目录本身外,还会删除目录下的所有文件和目录 /q :安静模式,就是无交互强制删除 rd filename /s /q :这条命令就相当于linux的rm -rf,无交互删除所有目录

10、重命名 ren

powershell
ren 重命名目录或文件 ren是rename的缩写,两个命令都可以重命名操作 ······································· E:\Python_file>ren /? 重命名文件。 RENAME [drive:][path]filename1 filename2. REN [drive:][path]filename1 filename2. 请注意,你不能为目标文件指定新的驱动器或路径。 ······································· 用法: ren E:\test test1 ren test1 test2

11、拷贝 copy

powershell
copy 拷贝 ····································· E:\>copy /? 将一份或多份文件复制到另一个位置。 COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination [/A | /B]] source 指定要复制的文件。 /A 表示一个 ASCII 文本文件。 /B 表示一个二进位文件。 /D 允许解密要创建的目标文件 destination 为新文件指定目录和/或文件名。 /V 验证新文件写入是否正确。 /N 复制带有非 8dot3 名称的文件时, 尽可能使用短文件名。 /Y 不使用确认是否要覆盖现有目标文件 的提示。 /-Y 使用确认是否要覆盖现有目标文件 的提示。 /Z 用可重新启动模式复制已联网的文件。 /L 如果源是符号链接,请将链接复制 到目标而不是源链接指向的实际文件。 命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。 这可能会被命令行上的 /-Y 替代。除非 COPY 命令是在一个批处理脚本中执行的,默认值应为 在覆盖时进行提示。 要附加文件,请为目标指定一个文件,为源指定 数个文件(用通配符或 file1+file2+file3 格式)。 ·····································

12、删除文件 del

powershell
del ::删除文件的命令 ················································ E:\>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 开关的显示句法会颠倒,即只显示已经 删除的文件,而不显示找不到的文件。 ················································

13、文件剪切命令 move

powershell
E:\>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 开关的显示句法会颠倒,即只显示已经 删除的文件,而不显示找不到的文件。

14、用户管理命令 net user

powershell
E:\>net user /help 此命令的语法是: NET USER [username [password | *] [options]] [/DOMAIN] username {password | *} /ADD [options] [/DOMAIN] username [/DELETE] [/DOMAIN] username [/TIMES:{times | ALL}] username [/ACTIVE: {YES | NO}] NET USER 将创建并修改计算机上的用户帐户。在不使用命令开关的情况下, 将列出计算机的用户帐户。用户帐户信息存储在用户帐户数据库中。 username 为可添加、删除、修改或查看的用户帐户的名称。用户帐户名称 最多可以有 20 个字符。 password 指定或更改用户帐户的密码。密码的长度必须符合 NET ACCOUNTS 命令的 /MINPWLEN 选项所设置的最小长度。 最多可以有 14 个字符。 * 生成密码提示。在密码提示下键入密码时,将不会显示密码。 /DOMAIN 在当前域的域控制器上执行此操作。 /ADD 向用户帐户数据库添加用户帐户。 /DELETE 从用户帐户数据库删除用户帐户。 选项 如下所示: 选项 描述 -------------------------------------------------------------------- /ACTIVE:{YES | NO} 激活或取消激活帐户。如果该帐户处于非激活状态, 用户将无法访问服务器。默认设置为“YES”。 /COMMENT:"text" 提供有关用户帐户的描述性注释。请将文本用引号 括起来。 /COUNTRYCODE:nnn 使用操作系统国家/地区代码执行指定的语言文件, 以显示用户帮助和错误消息。值 0 表示使用默认 的国家/地区代码。 /EXPIRES:{date | NEVER} 如果设置了日期,可导致帐户过期。 NEVER 将帐户设置为无时间限制。 过期日期采用格式 mm/dd/yy(yy)。 月份可以是一个数字、完整字母拼写, 或使用三个字母的缩写。年份可以使用两位数字 或四位数字。使用斜线(/)(不留空格) 将日期的各个部分隔开。 /FULLNAME:"name" 用户的全名(而不是用户名)。请将该名称用引号 括起来。 /HOMEDIR:pathname 用户的主目录设置路径。该路径必须存在。 /PASSWORDCHG:{YES | NO} 指定用户是否可以更改其密码。默认设置 为“YES”。 /PASSWORDREQ:{YES | NO} 指定用户帐户是否必须拥有密码。 默认设置为“YES”。 /LOGONPASSWORDCHG:{YES|NO} 指定用户是否应在下次登录时更改其密码。 默认设置为“NO”。 /PROFILEPATH[:path] 为用户登录配置文件设置路径。 /SCRIPTPATH:pathname 用户登录脚本的位置。 /TIMES:{times | ALL} 登录小时数。TIMES 表示为 day[-day][,day[-day]],time[-time][,time [-time]],增量限制为 1 小时。 日期可以是完整拼写,也可以是缩写。 小时可以是 12 或 24 小时表示法。对于 12 小时表示法,请使用 am、pm、a.m. 或 p.m。ALL 表示用户始终可以登录, 空白值表示用户始终不能登录。使用逗号将日期和时 间隔开,使用分号将多个日期和时间隔开。 /USERCOMMENT:"text" 允许管理员添加或更改帐户的用户注释。 /WORKSTATIONS:{computername[,...] | *} 列出用户可用于登录到网络的计算机,最多为八台。 如果 /WORKSTATIONS 没有列表,或其列表为 *, 则用户可以通过任何计算机登录到网络。 NET HELP 命令 | MORE 显示帮助内容,一次显示一屏。

15、用户组管理命令 net localgroup

powershell
net localgroup 用法: ··············································· E:\>net localgroup /help 此命令的语法是: NET LOCALGROUP [groupname [/COMMENT:"text"]] [/DOMAIN] groupname {/ADD [/COMMENT:"text"] | /DELETE} [/DOMAIN] groupname name [...] {/ADD | /DELETE} [/DOMAIN] NET LOCALGROUP 修改计算机上的本地组。使用时如果没有选项,它将显示计算机上的本 地组。 groupname 为要添加、扩展和删除的本地组的名称。仅提供用以查看用户或本地 组中全局组的组名。 /COMMENT:"text" 为新组或现有组添加注释。将文本用引号括起来。 /DOMAIN 在当前域的域控制器上执行操作。否则,在本地工作站上执行该操作 。 name [ ...] 列出添加到本地组或从中删除的一个或多个用户名或组名。用空格将 多个条目隔开。名称可以是用户或全局组,但不能是其他本地组。如 果用户来自其他域,则用域名作为用户名的开始(例如,SALES \RALPHR)。 /ADD 将组名或用户名添加到本地组。必须为利用该命令添加到本地组的用 户或全局组建立帐户。 /DELETE 将组名或用户名从本地组删除。 ···············································

16、if语句

powershell
if语句格式: if 条件 ( 满足条件执行语句 ) else ( 不满足条件执行语句 ) ············································· EQU - 等于 NEQ - 不等于 LSS - 小于 LEQ - 小于或等于 GTR - 大于 GEQ - 大于或等于 用法: @echo off if "A" equ "A" echo equ ok A等于A满足 if "A" == "A" echo equ ok if /I "A" equ "a" echo equ ok 不区分大小写 if 100 equ 100 echo equ ok if 100 == 100 echo equ ok if %errorlevel%=="" ::%errorlevel%是判断上一条命令是否执行成功,成功返回0,失败返回1 ··············································· 判断变量是否为一个值 @echo off ::if-else结构 set a=%1% if %a% == hello (echo ok) else (echo no) pause > nul 判断文件是否存在 exist @echo off ::if判断文件是否存在 chcp 65001 >nul if exist E:\工作\记事本.sh2 (echo yes ) else (echo no) pause > nul 比大小 @echo off ::if判断输入变量的大小 chcp 65001 >nul ::输入第一个变量no1 set /p no1=no1= ::输入第二个变量no2 set /p no2=no2= ::判断 if %no1% gtr %no2% ( echo no1大 ) else ( if %no1% equ %no2% ( echo no1等于no2 ) else ( echo no2大) ) pause > nul

17、for语句

powershell
删除指定目录下所有txt文件 @echo off chcp 65001>nul for /d %%a in (test\*) do dir %%a\*.txt && del %%a\*.txt /a && echo 已删除所有*.txt文件 pause>nul 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1) FOR /L %variable IN (start,step,end) DO command [command-parameters] for /l %%a in (1,1,5) do mkdir %%a ::批量创建1-5文件夹 for /l %%a in (50,1,60) do ping -n 2 -w 60 123.56.23.%%a > nul && echo 123.56.23.%%a 检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] for /r "F:\桌面\test\新建文件夹\" %%a in (*.txt) do echo %%a ::寻找目录下所有.txt文件 测试ip是否通 @echo off chcp 65001>nul set /p nnn=按回车开始…… set ip=%1% for /l %%a in (50,1,52) do ping -n 2 -w 60 %ip%.%%a >nul && echo %ip%.%%a echo 回车退出…… pause>nul

18、goto跳转

powershell
:test mkdir 1 cd 1 goto test 这样几句代码就可以实现反复循环创建目录1 goto 是会在执行完上面的命令后,跳转到:test部分,就会反复执行 可以配合if使用 @echo off if %os%==Windows_NT goto windows if %os%==Linux goto linux :windows echo os is windows goto end :linux echo os is not windows goto end :end pause>nul

19、例

powershell
@echo off chcp 65001>nul cls :adm echo 1:用户查询 echo 2:进程查询 set /p xt=请选择(1/2): if %xt%==1 goto user if %xt%==2 goto jincheng echo 请输入正确选择 goto adm :user set /p username=请输入用户名: net user %username% goto end :jincheng tasklist echo. echo. echo 1通过image_name查询 echo 2通过PID查询 set /p b=请选择(1/2): if %b%==1 goto imagename if %b%==2 goto pid goto jincheng :imagename set /p image=请输入服务名例如(哔哩哔哩.exe): tasklist /fi "imagename eq %image%" goto end :pid set /p pids=请输入pid号: tasklist /fi "pid eq %pids%" goto end :end pause>nul

第三天

20、收集

https://www.toutiao.com/article/7048462948905648676/

https://www.hackbase.net/script/bat/

csdn bat脚本

csdn bat脚本2

人人编程网

AAA

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:ZYW

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 ™ 许可协议。转载请注明出处!