net view
net computer
net dclist
net user /domain
curl ifconfig.me
#添加用户
net user yydsaming GMIo2HXk1C3bv /add
#添加用户至管理员组
net localgroup "administrators" yydsaming /add
#添加用户至远程桌面组 #此组中的成员被授予远程登录的权限
net localgroup "Remote Desktop Users" yydsaming /add
net user guest /active:yes
net user guest GMIo2HXk1C3bv.
net localgroup administrators guest /add
net localgroup "Remote Desktop Users" guest /add
explorer
NET LOCALGROUP [组名[/COMMENT:文本][/DOMAIN] 组名:文本 组名称[.]{
/ADD}[/DOMAIN]
其中:
组名:指定要添加、删除或查看的本地用户组的名称。
/COMMENT:文本:为用户组添加或更改注释。
/DOMAIN:在主域控制器上执行操作,而不是在本地计算机上。
组名称:指定要添加或删除的用户组的名称。
/ADD:创建新的用户组。
/DELETE:删除现有的用户组。
例如,要创建一个名为“testgroup”的新用户组,可以使用以下命令:
NET LOCALGROUP /ADD testgroup
要将用户“user1”添加到“testgroup”中,可以使用以下命令:
NET LOCALGROUP testgroup user1 /ADD
要查看“testgroup”的成员列表,可以使用以下命令:
NET LOCALGROUP testgroup
要删除用户“user1”从“testgroup”中,可以使用以下命令:
NET LOCALGROUP testgroup user1 /DELETE
要删除“testgroup”这个用户组,可以使用以下命令:
NET LOCALGROUP /DELETE testgroup
netstat -an | find "3389" && echo yes || echo no
这个命令的意思是,先用 netstat -an 查看所有的端口状态,然后用 find “3389” 过滤出包含 3389 的行,如果找到了,就输出 yes,如果没有找到,就输出 no。
通过 cmd 命令开启 3389 端口的方法是:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
或者
wmic RDTOGGLE WHERE ServerName=‘%COMPUTERNAME%’ call SetAllowTSConnections 1
通过修改注册表开启 3389 端口的方法是:
打开注册表编辑器,方法:快捷键 Win+r 打开运行,输入“regedit.exe”回车。
在注册表编辑器对话窗口中,依次展开“ HKEY_LOCAL_MACHINE\System\CurrentControiSet\Control\TerminalServer\WinStations\RDP-Tcp ”选项
在“RDP-Tcp”选项的右侧窗口找到“PortNumber”选项,双击打开“PortNumber”
在“编辑DWORD (32位值)”窗口中,将右侧的基数改为“十进制”,将PortNumber数值改为 3389 ,确定
注意:修改注册表后需要重启计算机才能生效。
通过 cmd 命令关闭 3389 端口的方法是:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f
或者
wmic RDTOGGLE WHERE ServerName=‘%COMPUTERNAME%’ call SetAllowTSConnections 0
taskkill [/s <computer> [/u [<domain>\]<username> [/p [<password>]]]] {
[/fi <filter>] […] [/pid <processID> | /im <imagename>]} [/f] [/t]
其中:
- /s <computer>:指定远程计算机的名称或 IP 地址(不要使用反斜杠)。默认是本地计算机。
- /u <domain>\<username>:使用指定的用户账户或域账户来运行命令。只有在指定了 /s 参数时才能使用 /u 参数。默认是当前登录到发出命令的计算机的用户账户。
- /p <password>:指定用户账户的密码。
- /fi <filter>:应用一个过滤器来选择一组任务。你可以使用多个过滤器或者使用通配符( * )来指定所有任务或镜像名。有效的过滤器在下面的表格中列出。
- /pid <processID>:指定要结束的进程的进程 ID。
- /im <imagename>:指定要结束的进程的镜像名。使用通配符( * )来指定所有镜像名。
- /f:强制结束进程。对于远程进程,这个参数会被忽略,所有远程进程都会被强制结束。
- /t:结束指定的进程以及它启动的所有子进程。
2008
2003
win 7
快速判断目标站是windows还是linux服务器
linux大小写敏感,windows大小写不敏感
ping服务器,返还得TTL值不一样,windows一般在100以上,linux一般是100以下
```
TTL=128,这是WINNT/2K/XP。
TTL=32,这是WIN95/98/ME。
TTL=256,这是UNIX。
TTL=64,这是LINUX。
```
网络配置
path命令
将指定的路径赋予path,以便于再次使用该路径
%path%
例如我们将c:\windows路径赋予path命令,那么下次使用该路径,只需要输入path即可,不需要再次输入路径。
对于长路径,使用该命令是及其方便的。
运行path,查看默认cmd运行路径
指定一个路径
path c:\windows\system32
运行
path :
取消所有路径;
打开一个新的命令提示符窗口,运行路径会恢复为默认值。
cmd下输入:
path=%path%;E:\Python27
接着按"Enter"回车键。
这里的E:\Python27 是Python的安装目录
获取当前路径
%cd%、%~dp0
%~dp0是以“\”结尾
最初开始命令所在的当前路径,而%~dp0则是对应命令所在的当前路径
1.bat调用autoreg.bat,内容如下:
call E:\myproject\Debug\autoreg.bat
autoreg.bat是用来注册和它在同一个目录中的一个控件,内容如下:
regsvr32 my.ocx
一般情况判断完全匹配的时候用==
代码如下:
@echo off
if "%1"=="abc" @echo OK
但是部分匹配怎么写呢?比如判断参数中前三个字符是"abc"时
代码如下:
@echo off
echo %1|findstr "^abc" >nul
echo %errorlevel%
测试结果如下:
C:\>test xixi
1
C:\>test
1
C:\>test abcd
0
C:\>test xabcd
1
非常感谢,但是这样怎么实现if else的效果呢?
比如
if "%1"含有"abc" @echo OK
if "%1"含有"def" @echo NG
代码如下:
@echo off
echo %1|findstr "^abc" >nul
if %errorlevel% equ 0 (
echo ok
) else (
echo not ok
)
@echo off
不显示执行的脚本
set /p a= 请输入选择[1/2]:
if %a% equ 1 start python 1.py
if %a% equ 2 start ipconfig
echo 按任意键退出...
pause
pause > NUL
cls 清除面板的信息
@echo off
echo =============================================================
echo 当前脚本路径 %cd%
echo 当前权限 %USERNAME%
ver | find "4.0." > NUL && goto win95
ver | find "4.10." > NUL && goto win98
ver | find "4.90." > NUL && goto win_me
ver | find "3.51." > NUL && goto win_Nt_3_5
ver | find "5.0." > NUL && goto win2000
ver | find "5.1." > NUL && goto win_xp
ver | find "5.2." > NUL && goto win2003
ver | find "6.0." > NUL && goto vista
ver | find "6.1." > NUL && goto win7
ver | find "6.2." > NUL && goto win8
:win95
@echo 当前系统是:win95
goto end
:win98
@echo 当前系统是:win98
goto end
:win_me
@echo 当前系统是:win_me
goto end
:win_Nt_3_5
@echo 当前系统是:win NT 3.51
goto end
:win2000
@echo 当前系统是:win2000
goto end
:win_xp
@echo 当前系统是:WinXP
goto end
:win2003
@echo 当前系统是:win200
goto end
:vista
@echo 当前系统是:vista
goto end
:win7
@echo 当前系统是:win7 OR win2008 R2
goto end
:win8
@echo 当前系统是:win8
goto end
@echo不能获取当前操作系统版本
:end
echo =============================================================
echo.
echo 请选择执行脚本:
echo [1] 初始化python环境
echo [2] 初始化mysql
echo.
Windws 的主要版本列表
获取的操作系统版本的取自版本的前两位,获取的操作系统信息依然不够准确的,
如上表所示,如Windows 8和Windows Server 2012的版本号都是6.2
https://www.bbsmax/A/ke5jy8MyJr/
批处理添加 环境变量
C:\Users\Administrator\Desktop\yujing\MySQL5.7.26\bin
C:\Users\Administrator\Desktop\yujing\python3.7
@echo off
:: 在Path最前面添加Python环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%~dp0python3.7"
echo %path%
:: 重启资源管理器
taskkill /f /im explorer.exe
start explorer.exe
exit
echo.
echo 请选择执行脚本:
echo [1] 初始化python环境
echo [2] 初始化mysql
echo [3] 运行道普预警平台
echo.
set /p a= 请输入选择[1/2/3]:
if %a% equ 1 goto init_py
if %a% equ 2 start
:init_py
@echo ____________添加python环境变量到系统____________
@echo off
:: 在Path最前面添加Python环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%~dp0python3.7/"
:: 重启资源管理器
taskkill /f /im explorer.exe & start explorer.exe
goto end
:end
https://wwwblogs/jeshy/p/14125124.html
::先添加,防止没有时修改出错
wmic ENVIRONMENT create name="path",VariableValue="e:\tools;%path%"
::再修改,防止已有时添加出错
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="e:\tools;%path%"
::再即时应用
set "path=e:\tools;%path%"
初始配置任务
服务器管理器
@echo off
echo.
echo Refreshing PATH from registry
:: Get System PATH
for /f "tokens=3*" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do set syspath=%%A%%B
:: Get User Path
for /f "tokens=3*" %%A in ('reg query "HKCU\Environment" /v Path') do set userpath=%%A%%B
:: Set Refreshed Path
set PATH=%userpath%;%syspath%
echo Refreshed PATH
echo %PATH%
wmic ENVIRONMENT where "name='path' and username='<system>'" get VariableValue
copy C:\Users\Administrator\Desktop\西游记\1.JPGC:\
:init_py
@echo ____________移植python____________
@echo off
:: 在Path最前面添加Python环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set
VariableValue="%path%;%~dp0python3.7\"
set "path=%path%;%~dp0python3.7\"
copy %~dp0api-ms-win-crt-runtime-l1-1-0.dll C:\Windows\SysWOW64
@echo off
for /f %%i in ('dir/a/s/b') do xcopy %%i "C:\Users\Administrator\Desktop\11" /e /y
python
goto end
:end
echo 按任意键退出...
pause
@echo off
cd site-packages
for /f "tokens=*" %%i in ('dir/s/b/a') do xcopy %%i %pythonpath% /s /y
pause
dir/s/b/ad 遍历文件夹
copy %~dp0site-packages %pythonpath%
/s 复制 非空全部
/e 复制全部
https://wenku.baidu/view/b80ff32d7a563c1ec5da50e2524de518964bd38a.html?_wkts_=1672194596290&bdQuery=%E6%89%B9%E5%A4%84%E7%90%86+xcopy+%E5%8F%82%E6%95%B0
https://www.yiibai/batch_script/batch_script_variables.html
变量
https://blog.csdn/feihe0755/article/details/103930692
循环
https://www.office26/computer/computer_30973.html
https://www.office26/computer/computer_30973.html
复制
@echo off
echo =================道普漏洞预警系统初始化启动脚本=================
echo 当前脚本路径 %cd%
echo 当前权限 %USERNAME%
ver | find "4.0." > NUL && goto win95
ver | find "4.10." > NUL && goto win98
ver | find "4.90." > NUL && goto win_me
ver | find "3.51." > NUL && goto win_Nt_3_5
ver | find "5.0." > NUL && goto win2000
ver | find "5.1." > NUL && goto win_xp
ver | find "5.2." > NUL && goto win2003
ver | find "6.0." > NUL && goto vista
ver | find "6.1." > NUL && goto win7
ver | find "6.2." > NUL && goto win8
:win95
@echo 当前系统是:win95
goto end
:win98
@echo 当前系统是:win98
goto end
:win_me
@echo 当前系统是:win_me
goto end
:win_Nt_3_5
@echo 当前系统是:win NT 3.51
goto end
:win2000
@echo 当前系统是:win2000
goto end
:win_xp
@echo 当前系统是:WinXP
goto end
:win2003
@echo 当前系统是:win200
goto end
:vista
@echo 当前系统是:vista
goto end
:win7
@echo 当前系统是:win7 OR win2008 R2
goto end
:win8
@echo 当前系统是:win8
goto end
@echo不能获取当前操作系统版本
:end
echo =============================================================
echo.
echo 请选择执行脚本:
echo [1] 移植python库
echo [2] 初始化mysql
echo [3] 运行道普预警平台
echo.
set /p a= 请输入选择[1/2/3]:
if %a% equ 1 goto init_py
if %a% equ 2 start
:init_py
@echo ____________移植python____________
@echo off
set /p pythonpath= 请输入python安装路径eg:C:\python\Lib\site-packages:
cd site-packages
for /f %%i in ('dir/s/b/a') do xcopy %%i %pythonpath% /e /y
goto end
:end
echo 按任意键退出...
pause
https://www.yiibai/batch_script/batch_script_moving_folders.html
移动
批处理 教程
move *.* C:\python\Lib\site-packages
了解CMD中的%~dp0。
%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录。
%0代指批处理文件自身
%~d0 是指批处理所在的盘符
%~dp0 是盘符加路径
拒绝访问
echo p0 = %~p0
Cacls filename [/T] [/E] [/C] [/G user:perm] [/R user [...]] [/P user:perm [...]] [/D user [...]]
Filename——显示访问控制列表(以下简称ACL);
/T——更改当前目录及其所有子目录中指定文件的 ACL;
/E—— 编辑 ACL 而不替换;
/C——在出现拒绝访问错误时继续;
/G user:perm——赋予指定用户访问权限。Perm 可以是R(读取)、W(写入)、C(更改,写入)、F (完全控制);
/R user——撤销指定用户的访问权限(仅在与 /E 一起使用);
/P user:perm——替换指定用户的访问权限;
/D user——拒绝指定用户的访问。
http://blog.x6x8/?p=482
@echo off for /R . %%f in (*) do ( echo %%f if exist "%%f" move "%%f" . ) pause
in后面的 () 为通配符确定筛选规则,如:(.txt),只移动txt文件
%%f:变量
move命令:move A B 移动A文件到B文件,文中为移动%%f到当前文件(.代表当前文件)
https://blog.csdn/weixin_39746794/article/details/110937007
教程
move /?
@echo off
echo =================道普漏洞预警系统初始化启动脚本=================
echo 当前脚本路径 %cd%
echo 当前权限 %USERNAME%
ver | find "4.0." > NUL && goto win95
ver | find "4.10." > NUL && goto win98
ver | find "4.90." > NUL && goto win_me
ver | find "3.51." > NUL && goto win_Nt_3_5
ver | find "5.0." > NUL && goto win2000
ver | find "5.1." > NUL && goto win_xp
ver | find "5.2." > NUL && goto win2003
ver | find "6.0." > NUL && goto vista
ver | find "6.1." > NUL && goto win7
ver | find "6.2." > NUL && goto win8
:win95
@echo 当前系统是:win95
goto end
:win98
@echo 当前系统是:win98
goto end
:win_me
@echo 当前系统是:win_me
goto end
:win_Nt_3_5
@echo 当前系统是:win NT 3.51
goto end
:win2000
@echo 当前系统是:win2000
goto end
:win_xp
@echo 当前系统是:WinXP
goto end
:win2003
@echo 当前系统是:win200
goto end
:vista
@echo 当前系统是:vista
goto end
:win7
@echo 当前系统是:win7 OR win2008 R2
goto end
:win8
@echo 当前系统是:win8
goto end
@echo不能获取当前操作系统版本
:end
echo =============================================================
echo.
echo 请选择执行脚本:
echo [1] 移植python库
echo [2] 初始化mysql
echo [3] 运行道普预警平台
echo.
set /p a= 请输入选择[1/2/3]:
if %a% equ 1 cd %cd%/site-packages & Cacls %cd%/site-packages /T /C /G administrator:F & goto init_py
if %a% equ 2 start
:init_py
@echo ____________移植python____________
@echo off
set /p pythonpath= 请输入python安装路径eg:C:\python\Lib\site-packages:
echo 输入的路径 %pythonpath%
echo %cd%
for /f %%i in ('dir/s/b/a') do xcopy %%i %pythonpath% /e /y
goto end
:end
echo 按任意键退出...
pause
Windows Server 2008 R2:是第一个只提供64位版本的服务器操作系统1。
Windows Server 2012 R2:是基于Windows 8.1界面的新一代Windows Server操作系统,也是Windows Server 2012的升级版本1。
Windows Server 2016:是基于Windows 10界面的服务器操作系统,支持容器和微服务1。
Windows Server 2019:是基于Windows 10界面的服务器操作系统,支持混合云和安全性增强1。
Windows Server 2022:是基于Windows 10界面的服务器操作系统,支持多层安全防护和高性能网络1。
根据知乎2的文章,Windows 7系统有以下几个版本:
Starter(初级版):功能最少的一个版本,只支持32位处理器,没有Windows媒体中心和移动中心等功能2。
Home Basic(家庭普通版):对Aero特效有限制,没有Windows媒体中心,不支持远程桌面和家庭网络组等功能2。
Home Premium(家庭高级版):拥有基本的功能,不支持Windows域、XP模式、多语言等功能2。
Professional(专业版):拥有远程桌面、网络备份、位置感知打印、演示模式、活动目录和域支持、加密文件系统等功能2。
Enterprise(企业版):拥有AppLocker、BranchCache、Direct Access等企业级别的功能2。
Ultimate(旗舰版):拥有和企业版同样的功能,可以升级到旗舰版2。
根据CSDN3的文章,2020年5月OS市场占有率报告显示,Ubuntu和Linux分别占有1.89%和0.97%,而Windows各个版本的市场占有率如下:
Windows 10占有56.08%。
Windows 7占有25.59%。
Windows 8.1占有3.28%。s
Windows XP占有0.96%。
Windows Vista占有0.12%。 3
您可以根据您的服务器配置和应用需求选择合适的Windows系统版本。
如何删除文件夹和文件夹内的所有文件12。有两种常用的命令可以实现这个功能,分别是 del 和 rmdir123。del 命令可以删除一个或多个文件,rmdir 命令可以删除一个或多个目录123。如果要删除文件夹和文件夹内的所有文件,可以使用以下语法123:
del /s /q /f 文件夹名
rmdir /s /q 文件夹名
其中,/s 表示删除指定目录及其所有子目录和文件,/q 表示安静模式,不提示确认,/f 表示强制删除只读文件123。例如,如果要删除 D 盘下的 test 文件夹和其内部的所有文件,可以使用以下命令12:
del /s /q /f D:\test
rmdir /s /q D:\test
开启防火墙:
netsh firewall set opmode mode=enable
关闭防火墙:
netsh firewall set opmode mode=disable
命令:netsh firewall
参数:
? // 显示命令列表
add // 添加防火墙配置
delete // 删除防火墙配置
dump // 显示一个配置脚本
help // 显示命令列表
reset // 将防火墙配置重置为默认值。
set // 设置防火墙配置
show // 显示防火墙配置
add allowedprogram // 添加防火墙允许的程序配置。
add portopening // 添加防火墙端口配置
delete allowedprogram // 删除防火墙允许的程序配置
delete portopening // 删除防火墙端口配置
set allowedprogram // 设置防火墙允许的程序配置
set icmpsetting // 设置防火墙 ICMP 配置
set logging // 设置防火墙记录配置
set multicastbroadcastresponse // 设置防火墙多播/广播响应配置
set notifications // 设置防火墙通知配置
set opmode // 设置防火墙操作配置
set portopening // 设置防火墙端口配置
set service // 设置防火墙服务配置
show allowedprogram // 显示防火墙允许的程序配置
show config // 显示防火墙配置。
show currentprofile // 显示当前防火墙配置文件
show icmpsetting // 显示防火墙 ICMP 配置
show logging // 显示防火墙记录配置
show multicastbroadcastresponse // 显示防火墙多播/广播响应配置
show notifications // 显示防火墙操作配置
show opmode // 显示防火墙端口配置
show portopening // 显示防火墙端口配置
show service // 显示防火墙服务配置
show state // 显示当前防火墙状态
例如:
命令:netsh firewall show allowedprogram //查看防火墙放行的程序
netsh firewall set portopening TCP 445 ENABLE //打开445端口
netsh firewall set portopening TCP 3389 ENABLE //
netsh firewall delete allowedprogram C:\A.exe //删除放行程序A.exe
netsh firewall set allowedprogram C:\A.exe A ENABLE //添加程序C盘下的A.exe并放行
netsh firewall add allowedprogram C:\A.exe A ENABLE //添加程序C盘下的A.exe并放行
netsh firewall set icmpsettting type=ALL mode=enable //开启ICMP协议
netsh firewall set icmpsettting type=2 mode=enable //允许出站数据包太大
net view
net computer
net dclist
net user /domain
curl ifconfig.me
#添加用户
net user yydsaming GMIo2HXk1C3bv /add
#添加用户至管理员组
net localgroup "administrators" yydsaming /add
#添加用户至远程桌面组 #此组中的成员被授予远程登录的权限
net localgroup "Remote Desktop Users" yydsaming /add
net user guest /active:yes
net user guest GMIo2HXk1C3bv.
net localgroup administrators guest /add
net localgroup "Remote Desktop Users" guest /add
explorer
NET LOCALGROUP [组名[/COMMENT:文本][/DOMAIN] 组名:文本 组名称[.]{
/ADD}[/DOMAIN]
其中:
组名:指定要添加、删除或查看的本地用户组的名称。
/COMMENT:文本:为用户组添加或更改注释。
/DOMAIN:在主域控制器上执行操作,而不是在本地计算机上。
组名称:指定要添加或删除的用户组的名称。
/ADD:创建新的用户组。
/DELETE:删除现有的用户组。
例如,要创建一个名为“testgroup”的新用户组,可以使用以下命令:
NET LOCALGROUP /ADD testgroup
要将用户“user1”添加到“testgroup”中,可以使用以下命令:
NET LOCALGROUP testgroup user1 /ADD
要查看“testgroup”的成员列表,可以使用以下命令:
NET LOCALGROUP testgroup
要删除用户“user1”从“testgroup”中,可以使用以下命令:
NET LOCALGROUP testgroup user1 /DELETE
要删除“testgroup”这个用户组,可以使用以下命令:
NET LOCALGROUP /DELETE testgroup
netstat -an | find "3389" && echo yes || echo no
这个命令的意思是,先用 netstat -an 查看所有的端口状态,然后用 find “3389” 过滤出包含 3389 的行,如果找到了,就输出 yes,如果没有找到,就输出 no。
通过 cmd 命令开启 3389 端口的方法是:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
或者
wmic RDTOGGLE WHERE ServerName=‘%COMPUTERNAME%’ call SetAllowTSConnections 1
通过修改注册表开启 3389 端口的方法是:
打开注册表编辑器,方法:快捷键 Win+r 打开运行,输入“regedit.exe”回车。
在注册表编辑器对话窗口中,依次展开“ HKEY_LOCAL_MACHINE\System\CurrentControiSet\Control\TerminalServer\WinStations\RDP-Tcp ”选项
在“RDP-Tcp”选项的右侧窗口找到“PortNumber”选项,双击打开“PortNumber”
在“编辑DWORD (32位值)”窗口中,将右侧的基数改为“十进制”,将PortNumber数值改为 3389 ,确定
注意:修改注册表后需要重启计算机才能生效。
通过 cmd 命令关闭 3389 端口的方法是:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f
或者
wmic RDTOGGLE WHERE ServerName=‘%COMPUTERNAME%’ call SetAllowTSConnections 0
taskkill [/s <computer> [/u [<domain>\]<username> [/p [<password>]]]] {
[/fi <filter>] […] [/pid <processID> | /im <imagename>]} [/f] [/t]
其中:
- /s <computer>:指定远程计算机的名称或 IP 地址(不要使用反斜杠)。默认是本地计算机。
- /u <domain>\<username>:使用指定的用户账户或域账户来运行命令。只有在指定了 /s 参数时才能使用 /u 参数。默认是当前登录到发出命令的计算机的用户账户。
- /p <password>:指定用户账户的密码。
- /fi <filter>:应用一个过滤器来选择一组任务。你可以使用多个过滤器或者使用通配符( * )来指定所有任务或镜像名。有效的过滤器在下面的表格中列出。
- /pid <processID>:指定要结束的进程的进程 ID。
- /im <imagename>:指定要结束的进程的镜像名。使用通配符( * )来指定所有镜像名。
- /f:强制结束进程。对于远程进程,这个参数会被忽略,所有远程进程都会被强制结束。
- /t:结束指定的进程以及它启动的所有子进程。
2008
2003
win 7
快速判断目标站是windows还是linux服务器
linux大小写敏感,windows大小写不敏感
ping服务器,返还得TTL值不一样,windows一般在100以上,linux一般是100以下
```
TTL=128,这是WINNT/2K/XP。
TTL=32,这是WIN95/98/ME。
TTL=256,这是UNIX。
TTL=64,这是LINUX。
```
网络配置
path命令
将指定的路径赋予path,以便于再次使用该路径
%path%
例如我们将c:\windows路径赋予path命令,那么下次使用该路径,只需要输入path即可,不需要再次输入路径。
对于长路径,使用该命令是及其方便的。
运行path,查看默认cmd运行路径
指定一个路径
path c:\windows\system32
运行
path :
取消所有路径;
打开一个新的命令提示符窗口,运行路径会恢复为默认值。
cmd下输入:
path=%path%;E:\Python27
接着按"Enter"回车键。
这里的E:\Python27 是Python的安装目录
获取当前路径
%cd%、%~dp0
%~dp0是以“\”结尾
最初开始命令所在的当前路径,而%~dp0则是对应命令所在的当前路径
1.bat调用autoreg.bat,内容如下:
call E:\myproject\Debug\autoreg.bat
autoreg.bat是用来注册和它在同一个目录中的一个控件,内容如下:
regsvr32 my.ocx
一般情况判断完全匹配的时候用==
代码如下:
@echo off
if "%1"=="abc" @echo OK
但是部分匹配怎么写呢?比如判断参数中前三个字符是"abc"时
代码如下:
@echo off
echo %1|findstr "^abc" >nul
echo %errorlevel%
测试结果如下:
C:\>test xixi
1
C:\>test
1
C:\>test abcd
0
C:\>test xabcd
1
非常感谢,但是这样怎么实现if else的效果呢?
比如
if "%1"含有"abc" @echo OK
if "%1"含有"def" @echo NG
代码如下:
@echo off
echo %1|findstr "^abc" >nul
if %errorlevel% equ 0 (
echo ok
) else (
echo not ok
)
@echo off
不显示执行的脚本
set /p a= 请输入选择[1/2]:
if %a% equ 1 start python 1.py
if %a% equ 2 start ipconfig
echo 按任意键退出...
pause
pause > NUL
cls 清除面板的信息
@echo off
echo =============================================================
echo 当前脚本路径 %cd%
echo 当前权限 %USERNAME%
ver | find "4.0." > NUL && goto win95
ver | find "4.10." > NUL && goto win98
ver | find "4.90." > NUL && goto win_me
ver | find "3.51." > NUL && goto win_Nt_3_5
ver | find "5.0." > NUL && goto win2000
ver | find "5.1." > NUL && goto win_xp
ver | find "5.2." > NUL && goto win2003
ver | find "6.0." > NUL && goto vista
ver | find "6.1." > NUL && goto win7
ver | find "6.2." > NUL && goto win8
:win95
@echo 当前系统是:win95
goto end
:win98
@echo 当前系统是:win98
goto end
:win_me
@echo 当前系统是:win_me
goto end
:win_Nt_3_5
@echo 当前系统是:win NT 3.51
goto end
:win2000
@echo 当前系统是:win2000
goto end
:win_xp
@echo 当前系统是:WinXP
goto end
:win2003
@echo 当前系统是:win200
goto end
:vista
@echo 当前系统是:vista
goto end
:win7
@echo 当前系统是:win7 OR win2008 R2
goto end
:win8
@echo 当前系统是:win8
goto end
@echo不能获取当前操作系统版本
:end
echo =============================================================
echo.
echo 请选择执行脚本:
echo [1] 初始化python环境
echo [2] 初始化mysql
echo.
Windws 的主要版本列表
获取的操作系统版本的取自版本的前两位,获取的操作系统信息依然不够准确的,
如上表所示,如Windows 8和Windows Server 2012的版本号都是6.2
https://www.bbsmax/A/ke5jy8MyJr/
批处理添加 环境变量
C:\Users\Administrator\Desktop\yujing\MySQL5.7.26\bin
C:\Users\Administrator\Desktop\yujing\python3.7
@echo off
:: 在Path最前面添加Python环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%~dp0python3.7"
echo %path%
:: 重启资源管理器
taskkill /f /im explorer.exe
start explorer.exe
exit
echo.
echo 请选择执行脚本:
echo [1] 初始化python环境
echo [2] 初始化mysql
echo [3] 运行道普预警平台
echo.
set /p a= 请输入选择[1/2/3]:
if %a% equ 1 goto init_py
if %a% equ 2 start
:init_py
@echo ____________添加python环境变量到系统____________
@echo off
:: 在Path最前面添加Python环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%~dp0python3.7/"
:: 重启资源管理器
taskkill /f /im explorer.exe & start explorer.exe
goto end
:end
https://wwwblogs/jeshy/p/14125124.html
::先添加,防止没有时修改出错
wmic ENVIRONMENT create name="path",VariableValue="e:\tools;%path%"
::再修改,防止已有时添加出错
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="e:\tools;%path%"
::再即时应用
set "path=e:\tools;%path%"
初始配置任务
服务器管理器
@echo off
echo.
echo Refreshing PATH from registry
:: Get System PATH
for /f "tokens=3*" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do set syspath=%%A%%B
:: Get User Path
for /f "tokens=3*" %%A in ('reg query "HKCU\Environment" /v Path') do set userpath=%%A%%B
:: Set Refreshed Path
set PATH=%userpath%;%syspath%
echo Refreshed PATH
echo %PATH%
wmic ENVIRONMENT where "name='path' and username='<system>'" get VariableValue
copy C:\Users\Administrator\Desktop\西游记\1.JPGC:\
:init_py
@echo ____________移植python____________
@echo off
:: 在Path最前面添加Python环境(编译&运行)
wmic ENVIRONMENT where "name='path' and username='<system>'" set
VariableValue="%path%;%~dp0python3.7\"
set "path=%path%;%~dp0python3.7\"
copy %~dp0api-ms-win-crt-runtime-l1-1-0.dll C:\Windows\SysWOW64
@echo off
for /f %%i in ('dir/a/s/b') do xcopy %%i "C:\Users\Administrator\Desktop\11" /e /y
python
goto end
:end
echo 按任意键退出...
pause
@echo off
cd site-packages
for /f "tokens=*" %%i in ('dir/s/b/a') do xcopy %%i %pythonpath% /s /y
pause
dir/s/b/ad 遍历文件夹
copy %~dp0site-packages %pythonpath%
/s 复制 非空全部
/e 复制全部
https://wenku.baidu/view/b80ff32d7a563c1ec5da50e2524de518964bd38a.html?_wkts_=1672194596290&bdQuery=%E6%89%B9%E5%A4%84%E7%90%86+xcopy+%E5%8F%82%E6%95%B0
https://www.yiibai/batch_script/batch_script_variables.html
变量
https://blog.csdn/feihe0755/article/details/103930692
循环
https://www.office26/computer/computer_30973.html
https://www.office26/computer/computer_30973.html
复制
@echo off
echo =================道普漏洞预警系统初始化启动脚本=================
echo 当前脚本路径 %cd%
echo 当前权限 %USERNAME%
ver | find "4.0." > NUL && goto win95
ver | find "4.10." > NUL && goto win98
ver | find "4.90." > NUL && goto win_me
ver | find "3.51." > NUL && goto win_Nt_3_5
ver | find "5.0." > NUL && goto win2000
ver | find "5.1." > NUL && goto win_xp
ver | find "5.2." > NUL && goto win2003
ver | find "6.0." > NUL && goto vista
ver | find "6.1." > NUL && goto win7
ver | find "6.2." > NUL && goto win8
:win95
@echo 当前系统是:win95
goto end
:win98
@echo 当前系统是:win98
goto end
:win_me
@echo 当前系统是:win_me
goto end
:win_Nt_3_5
@echo 当前系统是:win NT 3.51
goto end
:win2000
@echo 当前系统是:win2000
goto end
:win_xp
@echo 当前系统是:WinXP
goto end
:win2003
@echo 当前系统是:win200
goto end
:vista
@echo 当前系统是:vista
goto end
:win7
@echo 当前系统是:win7 OR win2008 R2
goto end
:win8
@echo 当前系统是:win8
goto end
@echo不能获取当前操作系统版本
:end
echo =============================================================
echo.
echo 请选择执行脚本:
echo [1] 移植python库
echo [2] 初始化mysql
echo [3] 运行道普预警平台
echo.
set /p a= 请输入选择[1/2/3]:
if %a% equ 1 goto init_py
if %a% equ 2 start
:init_py
@echo ____________移植python____________
@echo off
set /p pythonpath= 请输入python安装路径eg:C:\python\Lib\site-packages:
cd site-packages
for /f %%i in ('dir/s/b/a') do xcopy %%i %pythonpath% /e /y
goto end
:end
echo 按任意键退出...
pause
https://www.yiibai/batch_script/batch_script_moving_folders.html
移动
批处理 教程
move *.* C:\python\Lib\site-packages
了解CMD中的%~dp0。
%~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录。
%0代指批处理文件自身
%~d0 是指批处理所在的盘符
%~dp0 是盘符加路径
拒绝访问
echo p0 = %~p0
Cacls filename [/T] [/E] [/C] [/G user:perm] [/R user [...]] [/P user:perm [...]] [/D user [...]]
Filename——显示访问控制列表(以下简称ACL);
/T——更改当前目录及其所有子目录中指定文件的 ACL;
/E—— 编辑 ACL 而不替换;
/C——在出现拒绝访问错误时继续;
/G user:perm——赋予指定用户访问权限。Perm 可以是R(读取)、W(写入)、C(更改,写入)、F (完全控制);
/R user——撤销指定用户的访问权限(仅在与 /E 一起使用);
/P user:perm——替换指定用户的访问权限;
/D user——拒绝指定用户的访问。
http://blog.x6x8/?p=482
@echo off for /R . %%f in (*) do ( echo %%f if exist "%%f" move "%%f" . ) pause
in后面的 () 为通配符确定筛选规则,如:(.txt),只移动txt文件
%%f:变量
move命令:move A B 移动A文件到B文件,文中为移动%%f到当前文件(.代表当前文件)
https://blog.csdn/weixin_39746794/article/details/110937007
教程
move /?
@echo off
echo =================道普漏洞预警系统初始化启动脚本=================
echo 当前脚本路径 %cd%
echo 当前权限 %USERNAME%
ver | find "4.0." > NUL && goto win95
ver | find "4.10." > NUL && goto win98
ver | find "4.90." > NUL && goto win_me
ver | find "3.51." > NUL && goto win_Nt_3_5
ver | find "5.0." > NUL && goto win2000
ver | find "5.1." > NUL && goto win_xp
ver | find "5.2." > NUL && goto win2003
ver | find "6.0." > NUL && goto vista
ver | find "6.1." > NUL && goto win7
ver | find "6.2." > NUL && goto win8
:win95
@echo 当前系统是:win95
goto end
:win98
@echo 当前系统是:win98
goto end
:win_me
@echo 当前系统是:win_me
goto end
:win_Nt_3_5
@echo 当前系统是:win NT 3.51
goto end
:win2000
@echo 当前系统是:win2000
goto end
:win_xp
@echo 当前系统是:WinXP
goto end
:win2003
@echo 当前系统是:win200
goto end
:vista
@echo 当前系统是:vista
goto end
:win7
@echo 当前系统是:win7 OR win2008 R2
goto end
:win8
@echo 当前系统是:win8
goto end
@echo不能获取当前操作系统版本
:end
echo =============================================================
echo.
echo 请选择执行脚本:
echo [1] 移植python库
echo [2] 初始化mysql
echo [3] 运行道普预警平台
echo.
set /p a= 请输入选择[1/2/3]:
if %a% equ 1 cd %cd%/site-packages & Cacls %cd%/site-packages /T /C /G administrator:F & goto init_py
if %a% equ 2 start
:init_py
@echo ____________移植python____________
@echo off
set /p pythonpath= 请输入python安装路径eg:C:\python\Lib\site-packages:
echo 输入的路径 %pythonpath%
echo %cd%
for /f %%i in ('dir/s/b/a') do xcopy %%i %pythonpath% /e /y
goto end
:end
echo 按任意键退出...
pause
Windows Server 2008 R2:是第一个只提供64位版本的服务器操作系统1。
Windows Server 2012 R2:是基于Windows 8.1界面的新一代Windows Server操作系统,也是Windows Server 2012的升级版本1。
Windows Server 2016:是基于Windows 10界面的服务器操作系统,支持容器和微服务1。
Windows Server 2019:是基于Windows 10界面的服务器操作系统,支持混合云和安全性增强1。
Windows Server 2022:是基于Windows 10界面的服务器操作系统,支持多层安全防护和高性能网络1。
根据知乎2的文章,Windows 7系统有以下几个版本:
Starter(初级版):功能最少的一个版本,只支持32位处理器,没有Windows媒体中心和移动中心等功能2。
Home Basic(家庭普通版):对Aero特效有限制,没有Windows媒体中心,不支持远程桌面和家庭网络组等功能2。
Home Premium(家庭高级版):拥有基本的功能,不支持Windows域、XP模式、多语言等功能2。
Professional(专业版):拥有远程桌面、网络备份、位置感知打印、演示模式、活动目录和域支持、加密文件系统等功能2。
Enterprise(企业版):拥有AppLocker、BranchCache、Direct Access等企业级别的功能2。
Ultimate(旗舰版):拥有和企业版同样的功能,可以升级到旗舰版2。
根据CSDN3的文章,2020年5月OS市场占有率报告显示,Ubuntu和Linux分别占有1.89%和0.97%,而Windows各个版本的市场占有率如下:
Windows 10占有56.08%。
Windows 7占有25.59%。
Windows 8.1占有3.28%。s
Windows XP占有0.96%。
Windows Vista占有0.12%。 3
您可以根据您的服务器配置和应用需求选择合适的Windows系统版本。
如何删除文件夹和文件夹内的所有文件12。有两种常用的命令可以实现这个功能,分别是 del 和 rmdir123。del 命令可以删除一个或多个文件,rmdir 命令可以删除一个或多个目录123。如果要删除文件夹和文件夹内的所有文件,可以使用以下语法123:
del /s /q /f 文件夹名
rmdir /s /q 文件夹名
其中,/s 表示删除指定目录及其所有子目录和文件,/q 表示安静模式,不提示确认,/f 表示强制删除只读文件123。例如,如果要删除 D 盘下的 test 文件夹和其内部的所有文件,可以使用以下命令12:
del /s /q /f D:\test
rmdir /s /q D:\test
开启防火墙:
netsh firewall set opmode mode=enable
关闭防火墙:
netsh firewall set opmode mode=disable
命令:netsh firewall
参数:
? // 显示命令列表
add // 添加防火墙配置
delete // 删除防火墙配置
dump // 显示一个配置脚本
help // 显示命令列表
reset // 将防火墙配置重置为默认值。
set // 设置防火墙配置
show // 显示防火墙配置
add allowedprogram // 添加防火墙允许的程序配置。
add portopening // 添加防火墙端口配置
delete allowedprogram // 删除防火墙允许的程序配置
delete portopening // 删除防火墙端口配置
set allowedprogram // 设置防火墙允许的程序配置
set icmpsetting // 设置防火墙 ICMP 配置
set logging // 设置防火墙记录配置
set multicastbroadcastresponse // 设置防火墙多播/广播响应配置
set notifications // 设置防火墙通知配置
set opmode // 设置防火墙操作配置
set portopening // 设置防火墙端口配置
set service // 设置防火墙服务配置
show allowedprogram // 显示防火墙允许的程序配置
show config // 显示防火墙配置。
show currentprofile // 显示当前防火墙配置文件
show icmpsetting // 显示防火墙 ICMP 配置
show logging // 显示防火墙记录配置
show multicastbroadcastresponse // 显示防火墙多播/广播响应配置
show notifications // 显示防火墙操作配置
show opmode // 显示防火墙端口配置
show portopening // 显示防火墙端口配置
show service // 显示防火墙服务配置
show state // 显示当前防火墙状态
例如:
命令:netsh firewall show allowedprogram //查看防火墙放行的程序
netsh firewall set portopening TCP 445 ENABLE //打开445端口
netsh firewall set portopening TCP 3389 ENABLE //
netsh firewall delete allowedprogram C:\A.exe //删除放行程序A.exe
netsh firewall set allowedprogram C:\A.exe A ENABLE //添加程序C盘下的A.exe并放行
netsh firewall add allowedprogram C:\A.exe A ENABLE //添加程序C盘下的A.exe并放行
netsh firewall set icmpsettting type=ALL mode=enable //开启ICMP协议
netsh firewall set icmpsettting type=2 mode=enable //允许出站数据包太大