一路繁花似锦绣前程
失败的越多,成功才越有价值

导航

 

一、dos/cmd基础

1、cmd界面
* 快捷键win+r -> 输入cmd -> 点击确定
* 点击开始菜单 -> 右击命令提示符 -> 以管理员身份运行
2、命令和变量
  • 内部命令
* dir:显示目录列表
* cd:切换目录
    - 快捷键tab:可自动补全和切换文件名
* mkdir:创建目录
* rmdir:删除目录
* shutdown -?:关机命令,使用-和/是一样的
* cmd窗口复制粘贴:右击顶部栏 -> 编辑 -> 标记/复制
  • 外部命令
* 命令所在目录:C:\Windows\System32
* notepad:记事本
* iexpress:捆绑工具
* mspaint:画图板
  • 外部命令可更改
* 修改ping.exe文件名为pingping.exe
  • 通过环境变量添加外部命令
* 右击此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> path变量
3、高级命令
  • 关于网络的命令
* ping:测试网络连接程序
    - -t:会一直ping,ctrl+c可停止
* ipconfig:查询ip地址
    - /all:获取详细信息
* netstat:查看活动连接
* pathping:路由追踪
  • 账户和权限相关命令
* net user <username> <password> /add:创建用户
* net localgroup administrators <username> /add:添加用户到管路员分组
  • 开启或关闭某些端口或服务
* net start telnet:开启telnet服务 
* win+r -> 输入mstsc:带界面的远程桌面链接
* net user <username> /del:删除用户
  • 其它提权相关操作可以在用到的时候现查
* net localgroup "Remote Desktop Users" <username> /add:开启远程桌面服务
* REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server 
  /v fDenyTSConnections /t REG_DWORD /d 0 /f:开启3389端口
4、批处理
  • 什么是批处理
* 新建文本文件 -> 修改后缀名为.bat或.cmd(注意文件名不要和其他命令一致) -> 
  编辑文件ping www.baidu.com -> 双击执行文件
* bat可在dos和cmd中执行,cmd只可以在cmd中执行
* 右击批处理文件可编辑
  • 简易脚本病毒
* 修改ie主页:修改注册表
* 反复弹框:
########
:1
start cmd.exe
goto 1
########
* 合并文件:copy /b 1.txt+2.jpg 3.jpg
* 文件捆绑:iexpress
5、解决实际问题
* netsh winsock rese:一分钟自动关闭问题修复,初始化网络环境,windows与网络驱动不兼容引起的问题
* net user administrator /active:yes:重新启用被禁用的超级管理员账户
* convert D:/FS:NTFS:把磁盘格式从FAT32改为NTFS
* 清除无法格式化的u盘
    - diskpart:提示相关版本号和信息,打开此工具
    - list disk:查看你u盘的序号
    - select disk 3:显示磁盘3现在是所选磁盘
    - clean:清除u盘

二、dos/cmd脚本

1、批处理技术
const mind = {
  "介绍": [
    "批处理指计算机分组处理收集到的若干任务。整个过程完全自动化,无需人工干预。这也可以称为工作负载自动化(WLA)和作业调度。",
    "批处理文件是一个“.bat\.cmd”结尾的文本文件,这个文件的每一行都是一条DOS命令在cmd窗口运行。可以使用任何文本文件编辑工具创建和修改"
  ],
  "特点": [
    "速度和成本节约:由于批处理在很大程度上是自动化的,因此不需要人工干预。自动化降低了运营成本,提高了事务和数据处理速度。如果需要,组织可以确定数据处理顺序的优先级。",
    "准确性:通过将人员排除在流程之外,不会出现人为错误,因此节省了时间和金钱,获得了更准确的数据和更满意的最终用户。",
    "操作简单:不需要持续的系统支持、额外的数据输入或专门的软件。一旦系统启动并运行,无需维护,这是一种低门槛的数据处理解决方案。",
    "离线功能:批处理系统离线运行。在下班后,埋头苦干的机器仍在运转。管理员可以控制流程何时开始,以避免系统不堪重负和干扰日常活动。",
    "..."
  ]
}
2、批处理技术常用命令
const mind = {
  "语法规则": [
    "1、批处理是一种简单的程序,可以用if和goto来控制流程,也可以使用for循环。",
    "2、每个编写好的批处理文件都相当于一个DOS的外部命令,把它所在的目录放到DOS搜索路径(path)中,即可在任意位置运行。",
    "3、大小写不敏感(命令符忽略大小写)",
    "4、批处理的文件扩展名为.bat或.cmd",
    "5、在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe来运行该文件。"
  ],
  "系统参数": [
    "%SystemRoot%===C:\WINDOWS(%windir%同样)",
    "%ProgramFiles%===C:\Program Files",
    "%OS%===Windows_NT(系统)",
    "%TEMP%===C:\DOCUME~1\ADMIN~1\LOCALS~1\Temp(%TEM%同样)",
    "..."
  ],
  "批处理基本命令": [
    "见程序"
  ]
}
3、demo
@rem on:显示命令;off:不显示命令
@echo off

@rem 查看echo状态
echo

@rem 这是注释
rem 这是命令

@rem 避免闪退
pause
@echo off

echo %SystemRoot%
echo %windir%
echo %OS%
echo %TEMP%

pause
@echo off

@REM 1、help帮助命令:/?,用法如下
@REM type /? >>tmp.txt
@REM help type

@REM 2、set set命令可用于定义变量、显示变量值、删除变量等操作
@REM set s1=1+1
@REM echo %s1%
@REM echo s1
@REM set /a s2=2+2
@REM echo %s2%

@REM 3、echo打印命令:
@REM     - echo [on/off]:打开回显或关闭回显功能;
@REM     - echo:显示当前回显设置
@REM     - echo [message]:显示信息
@REM echo hello world

@REM 4、goto命令:goto label(label是参数,指定所要转向的批处理程序中的行。)
@REM     - 指定跳转到标签行,找到标签行后,程序将处理从下一行开始的命令。
@REM 5、pause命令:会暂停批处理的执行并在屏幕上显示press any key to continue...的提示,等待用户按任意键后继续
@REM :begin
@REM echo please put a new disk into driver A
@REM goto begin

@REM 6、call命令:
@REM     - 语法:call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
@REM     - 参数:[Drive:][Path] FileName指定要调用的批处理程序的位置和名称,filename参数必须具有.bat或.cmd扩展名。
@REM     - 调用另一个批处理程序,并且不终止父批处理程序。
@REM call test.bat
@REM call C:\PX4PSP\RflySim3D\RflySim3D.exe

@REM 7、start命令:调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
@REM start test.bat
@REM start C:\PX4PSP\RflySim3D\RflySim3D.exe
@REM call命令主要用于在当前批处理文件中调用其他批处理文件或函数,并等待其执行结果;
@REM start命令主要用于启动外部程序或脚本,并立即返回到当前批处理文件执行后续命令。

@REM 8、copy命令:复制文件\文件夹命令。
@REM copy c:\123.txt d:\

@REM 9、if命令:if表示将判断是否符合规定的条件,从而决定执行不同的命令。
@REM     - 语法:if [not] "参数" === "字符串"待执行的命令。参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令
@REM set PSP_PATH=C:\PX4PSP
@REM set DLLModel=AircraftMathworks
@REM set /a DLLModelVal=DLLModel
@REM if %DLLModelVal% neq %DLLModel% (
@REM     rem copy the latest dll file to coptersim folder
@REM     copy /Y "%~dp0"\%DLLModel%.dll %PSP_PATH%\CopterSim\external\model\%DLLModel%.dll
@REM )
@REM @rem "%~dp0"自动读取当前目录下的路径

@REM 10、for命令:用于参数在指定的范围内循环执行命令。
@REM get the com port list
@REM set PSP_PATH=C:\PX4PSP
@REM for /f "delims=" %%t in ('%PSP_PATH%\CopterSim\GetComList.exe 0') do set ComNameList=%%t
@REM echo %ComNameList%

@REM 11、
@REM     - /a:命令行开关指定等号右边的字符串为被评估的数字表达式。
@REM     - /b:指定遍历范围为当前目录,且遍历对象仅为文件夹不包含文件类型
@REM     - /c:逐行遍历文本文件、文本、命令行中的字符串
@REM     - /d:将Cmd.exe启动环境传递到新的命令提示符窗口。如果未指定/i,则使用当前环境
@REM set S1=1+1
@REM echo %S1%
@REM set /a S2=1+1
@REM echo %S2%
@REM set /P VehicleNum=Please input UAV swarm number:

@REM 12、choice根据用户输入的命令,从而运行不用的命令
@REM :START
@REM choice /c YNC /m "确认请选Y,否请按N,取消按C。" /T 3 /D C
@REM if errorlevel 3 goto CANCEL
@REM if errorlevel 2 goto NO
@REM if errorlevel 1 goto YES
@REM :YES
@REM echo 你的选择是YES!
@REM goto END
@REM :NO
@REM echo 你的选择是NO!
@REM goto END
@REM :CANCEL
@REM echo 你的选择是CANCEL!

@REM 13、tasklist命令用于列出当前正在运行的所有进程,并显示它们的名称、进程ID、会话名称、会话号、内存使用情况等详细信息。
@REM     - ind命令则用于在输出结果中搜索特定的字符串,并将包含该字符串的行输出到标准输出。
@REM tasklist
@REM tasklist|find /i "QGroundControl.exe" || start %PSP_PATH%\QGroundControl

pause
@echo off

@REM %0:批处理文件本身;%1:参数1;%*:所有参数。
echo %1
echo %*

pause
posted on 2023-04-25 23:31  一路繁花似锦绣前程  阅读(54)  评论(0编辑  收藏  举报