Windows
打开windows中特定程序
win + R > cmd > Enter # 打开 dos 窗口
win + R > devmgmt.msc > Enter # 打开设备管理器
win + R > services.msc > Enter # 打开服务管理器
基础命令
help-查看某个命令帮助信息
# 查看 dir 命令的详细信息
help dir
cls-清屏
# powersheel 下 clear 也可以
cls
dir-查看目录下的文件及文件夹
dir
mkdir-创建目录
# mkdir,简写md。
mkdir test # 创建 test 目录
mkdir test\test\test # 不存在的中间目录也会帮创建
rmdir-删除目录
# rmdir,简写 rd 。 /s 会删除目录下的子目录和文件。 /q 静默模式,不会要求确认。
rmdir /s/q test # 删除test目录
cd-切换路径
cd / # 进入根目录
cd ../ # 返回上级目录
D: # 切换到 D 盘符
cd.>a.txt # 新建文件
新建文件
# 新建 a.txt 文件
cd.>a.txt
echo a >> a.txt # 新建 a.txt,内容为 a
del-删除文件
del /q a.txt # 静默模式删除文件
move-移动文件
move a.txt test3 #移动文件到 test3 目录
move test2 test3 #移动 test2 目录到 test3 目录
copy-复制文件
copy a.txt test\b.txt # 复制 a.txt 到 test\b.txt, test 目录不存在会报错。
copy con t.txt # 将键盘输入的内容保存到 t.txt
xcopy-复制文件夹或文件
xcopy /y a.txt test # 将 a.txt 复制到 test 目录下
xcopy /y/e test4 test5\ # 将 test4 下的内容复制到 test5 中
rename-重命名文件或文件夹
rename a.txt b.txt # 将 a.txt 重命名为
b.txt rename test test2 # 将文件夹 test 重命名为 test2
title-设置 cmd title
title java-1.8
start-启动单独的窗口运行命令。
# a.bat 中 start b.bat。a.bat设置的变量,子窗口可以用,但是b.bat设置的变量,a.bat用不了。
# [title] 窗口标题
# /b 运行命令,但不打开新的窗口
# /d 指定程序所在目录
start [title] [/b] [/d path] a.bat
start "title" /b /d "D:\test" a.bat #不打开新窗口运行 D:\test\a.bat
call-从批处理程序调用另一个批处理程序
call run.bat #同一进程,变量互通
chcp查看 dos 窗口字符集
chcp 65001 #修改字符集为utf-8 chcp 936 #修改字符集为GBK
mklink-创建符号链接。快捷方式
mklink /j "test" "E:/a" # 创建 a 的快捷方式为 test
<,>,<<,>>-输入输出重定向
# 输入输出重定向,使用字符“<”和“>”来定义临时输入和输出源
echo 11 > test.txt # 添加内容到
test.txt echo 11 >> test.txt # 追加内容到test.txt
cmd
cmd /c dir #是执行完dir命令后关闭命令窗口。
cmd /k dir #是执行完dir命令后不关闭命令窗口。
cmd /c start dir #会打开一个新窗口后执行dir指令,原窗口会关闭。
cmd /k start dir #会打开一个新窗口后执行dir指令,原窗口不会关闭。
bat 预定义变量
给bat文件传参
a.bat 11 22 #a.bat中 %1就是11,%2就是22
扩展变量和bat 所在路径有关
# bat文件所在路径:C:\Users\Desktop\run.bat,以管理员运行bat,路径也不出错。
%0% # C:\Users\Desktop\run.bat
%~dp0% # C:\Users\Desktop\
%~nx0% # run.bat
%~n0% # run
%~x0% # .bat
变量内容截取
%VAR:str1=str2% #会将VAR中的str1替换为str2
%VAR:~start,count% #提取从索引start开始的count个字符
set a=abcdef
set b=%a:~2,4% #cdef
set设置和查看环境变量
# 只在当前 dos 有效
set a = C:\WINDOWS
cd %a% # 会自动替换变量
# 临时设置 path
set PATH=%PATH%;D:\test\bin
# /a 可以运算,var=1
set /a var=2-1
bat编写
基础语法
rem # 添加注释
echo # 显示信息
if # 条件判断 f
or # 循环
goto # 跳转标识命令执行
pause # 批处理文件的处理
if
# EQU-等于
# NEQ-不等于
# LSS-小于
# LEQ-小于或等于
# GTR-大于
# GEQ-大于或等于
# EXIST filename 判断文件是否存在
@echo off
chcp 65001
set num1=100
set num2=101
set num3=100
set str1=str11
set str2=str12
set str2=str11
if %num1%==%num3% ( echo num1等于num3 )
else ( echo num1不等于num3 )
if %num2% gtr %num3% ( echo num1大于num3 )
else ( echo num1不大于num3 )
if not defined num ( echo 未定义变量 num )
pause
for
@echo off
chcp 65001
for %%a in (aa,bb,cc) do (echo %%a)
pause
## aa
## bb
## cc
goto
@echo off
chcp 65001
set num1=100
set num3=100
if %num1%==%num3% (goto eq) # 跳转到 eq 执行
echo 执行eq之后执行 # 不执行
pause # 不执行
:eq
echo 11
echo 12
pause
sc创建、删除、启动、关闭服务
sc create serviceName # 创建服务
sc delete serviceName # 删除服务
sc start serviceName
sc stop serviceName
sc query serviceName # 变量后面必须空格
sc create testService binPath= "D:\nginx-1.14.2\nginx.exe" type= share start= auto DisplayName= "testServiceDisplay"
# 判断服务是否存在
SC QUERY %MYSQL_SERVICE_NAME% > NUL
IF ERRORLEVEL 1060 (
echo 服务:%MYSQL_SERVICE_NAME% 不存在,安装此服务
)
查看端口占用
netstat -ano | findstr "端口号"
根据Pid查看进程
tasklist | findstr "Pid"
杀死进程
taskkill -f -im java.exe
查看TCP/IP配置
ipconfig
ping检测网络是否通畅
ping www.baidu.com
ping 192.168.202.20
net
# 启动远程主机上的服务
net start serviceName
# 关闭主机的某个服务
net stop serviceName
# 远程主机当前的时间
net time