win-bat批处理命令

news2024/7/11 21:12:07

基本知识

  1. cmd 与 powershel 命令和关键字不区分大小写,变量名区分大小写

  2. DOS 是磁盘操作系统;命令提示符是 DOS 系统的界面中输入 DOS 命令的提示位置;cmd 是系统运行其自带 DOS 的命令

  3. PID 是 processid(进程号);IM 是 imaginename(映像名称)

  4. 在 .bat 文件开头加上 @echo off 代表不输出描述,比如 C:\Users\14805\desktop>... 这样的描述不会输出,直接输出结果

  5. echo输出结果,pause使命令框停顿,pause>nul表示不输出结束提示,cls清屏命令,dir查看目录

  6. 设置变量 set a=10,输出变量 echo %a%,设置变量表达式 set /a b=%a%+1

  7. cmd的注释 ::rem

  8. 输入参数使用 set /p 变量名=

@echo off
set /p a=
echo %a%
pause

批处理运算

算数运算

命令模式

a表示运算操作

set /a 1+2

文件模式

@echo off
set /a 变量名=运算表达式
echo %变量名%
pause

重定向运算

  • > 表示从左向右输出,会覆盖原文件的内容

  • >> 表示从左向右输出,不会覆盖原文件的内容

  • type文本内容查看

  • <<<表示从右向左输出,区别是会不会覆盖

@echo off
set /a b=1+3
echo b > test.txt
echo zzp >> test.txt
pause

多命令运算

  • &&左边命令执行失败就不会执行第二个命令了

  • ||左边命令执行成功就不会执行第二个命令了

#都不会执行右边的命令
ipconfigaa && net user 
ipconfig || net user 

管道符号

  • |左边的输出作为右边的输入

dir | find ".txt" 

批处理基本命令

命令格式

命令+子命令+参数+操作+选项

命令帮助查看 /?/help

#查看所有用户
net user
#查看帮助
net user /?
#查看帮助完整版
net user /help

参数传递

  • .bat文件接受参数时使用%num

  • 调用.bat文件时按顺序在后面填写参数

@echo off
set /a b=%1+%2
echo %b%
pause

 

修饰命令

颜色命令

color 颜色参数

可以使用 color /?查看颜色参数和帮助信息,color一般会添加两个参数,第一个是背景颜色,第二个是字体颜色

#背景为黑色,字体为淡绿色
color 0a

标题命令

改变命令框的标题

title [String]

title hack

时间命令

  • date查看当前日期

  • time查看当前时间

date /t
time /t

 

启动命令

start +参数

  • "title" 在窗口标题栏中显示的标题

  • path 启动目录

  • B 启动应用程序,但不创建新窗口

start D:\桌面\前端\1-2.html

调用脚本文件

call [path] 文件名 传递的参数

写一个1.bat作为输出

@echo off
echo %1

写一个2.bat调用1.bat

@echo off
set /a b=%1+%2
call 1.bat %b%
pause

任务列表查看命令

可以显示本地或远程的当前运行的进程列表

TASKLIST [/S IP [/U username [/P [password]]]]

参数列表

  • /V 显示详细任务信息

  • /FI filter 显示一系列符合筛选器指定条件的任务

  • /FO format 指定输出格式。有效值: "TABLE"、"LIST"、"CSV"

  • /? 显示此帮助信息

筛选器

其中filter对应的语法如下(更多的筛选规则使用帮助命令查看)

注:gt(大于)、ge(大于等于)、lt(小于等于)和、le(小于等于)eq(等于)ne(不等于)

筛选器名称有效运算符有效值
STATUSeq, neRUNNING ,UNKNOWN
IMAGENAMEeq, ne映像名称
PIDeq, ne, gt, lt, ge, lePID 值

样例

tasklist /fi "imagename eq Typora.exe"
tasklist /fi "imagename eq Typora.exe" /fo "list"

任务关闭命令

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

TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
  • /FI filter 应用筛选器以选择一组任务。允许使用 ""。例如,映像名称 eq acme

  • /PID processid 指定要终止的进程的 PID。

  • /IM imagename 指定要终止的进程的映像名称

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

  • /F 指定强制终止进程。

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*"

文件夹结构查看命令

以图形的形式来显示驱动器或路径的文件夹结构

TREE [drive:][path] [/F] [/A]
  • /F 显示每个文件夹中文件的名称

  • /A 使用 ASCII 字符,而不使用扩展字符

tree /f

关机命令

shutdown +参数

参数列表

  • 没有参数时显示帮助信息

  • /i 显示图形用户界面(GUI),可以操作局域网内的计算机的启动

  • /r 完全关闭并重启计算机

  • /a 中止系统关闭

  • /p 关闭本地计算机,没有超时或警告

计划任务命令

允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务

SCHTASKS /parameter [arguments]
  • /Create 创建新计划任务

  • /Delete 删除计划任务

  • /Query 显示所有计划任务

  • /Change 更改计划任务属性

  • /Run 按需运行计划任务

  • /End 中止当前正在运行的计划任务

  • /ShowSid 显示与计划的任务名称相应的安全标识符

SCHTASKS
SCHTASKS /?
SCHTASKS /Run /?
SCHTASKS /End /?
SCHTASKS /Create /?
SCHTASKS /Delete /?

SCHTASKS /Create

允许管理员在本地或远程系统上创建计划任务,具体参数可以使用命令 SCHTASKS /Create /?查看

SCHTASKS /Create [/S system [/U username [/P [password]]]]
    [/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]
    [/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]
    [/RI interval] [ {/ET endtime | /DU duration} [/K] [/XML xmlfile] [/V1]]
    [/SD startdate] [/ED enddate] [/IT | /NP] [/Z] [/F] [/HRESULT] [/?]
#在远程机器 "ABC" 上创建计划任务 "doc",该机器每小时在 "runasuser" 用户下运行 notepad.exe。
SCHTASKS /Create /S ABC /U user /P password /RU runasuser/RP runaspassword /SC HOURLY /TN doc /TR notepad

环境变量命令

显示、设置或删除 cmd.exe 环境变量

SET [variable=[string]]
  • variable 指定环境变量名

  • string 指定要指派给变量的一系列字符串

要显示当前环境变量,键入不带参数的 SET,前缀匹配 SET P 会显示所有以字母 P 打头的变量

目录命令

目录浏览

目录和文件查看命令 dir

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
  • /A 显示具有指定属性的文件,属性列表

    • D 目录 R 只读文件

    • H 隐藏文件 A 准备存档的文件

    • S 系统文件 I 无内容索引文件

    • L 重新分析点 O 脱机文件

  • /B 使用空格式(没有标题信息或摘要)

  • /L 用小写

  • /O 用分类顺序列出文件,排序规则

    • N 按名称(字母顺序) S 按大小(从小到大)

    • E 按扩展名(字母顺序) D 按日期/时间(从先到后)

dir /od
dir /ah /b

目录的创建与删除

创建目录 mkdir

MKDIR [drive:]path
mkdir a\b\c	#多级目录的创建

删除目录 rmdir

RMDIR [/S] [/Q] [drive:]path
  • /S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树

  • /Q 安静模式,带 /S 删除目录树时不要求确认

目录切换

显示当前目录名或改变当前目录 cd

CD [/D] [drive:][path]
  • 不带参数只键入 CD,则显示当前驱动器和目录

  • 使用 /D 开关,除了改变驱动器的当前目录之外,还可改变当前驱动器

重命名命令

REN [drive:][path]filename1 filename2.

注意:不能为目标文件指定新的驱动器或路径

ren test.txt test1.txt

拷贝命令

将一份或多份文件复制到另一个位置

COPY source destination
  • source 指定要复制的文件

  • destination 为新文件指定目录和/或文件名

文件的创建与删除

文件的创建

  • 创建空的文件:type nul>文件名

  • 创建有内容文件:echo 内容>文件名

文件的删除

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
  • names 指定一个或多个文件或者目录列表,可以使用通配符 *

  • /P 删除每一个文件之前提示确认

  • /F 强制删除只读文件

  • /Q 安静模式。删除全局通配符时,不要求确认

  • /A 根据属性选择要删除的文件,属性列表

    • R 只读文件 S 系统文件

    • H 隐藏文件 A 准备存档的文件

    • I 无内容索引文件 L 重新分析点

移动命令

移动文件并重命名文件和目录,可以使用通配符 *

#移动至少一个文件
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
#重命名一个目录
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
  • destination 指定文件的新位置。目标可包含一个驱动器号和冒号、一个目录名或组合。如果只移动一个文件并在移动时将其重命名,你还可以包括文件名

  • dirname2 指定目录的新名称

  • /Y 取消确认覆盖一个现有目标文件的提示

  • /-Y 对确认覆盖一个现有目标文件发出提示

#把在同级目录的test1的全部内容移动至test
move test1\* test
#重命名文件夹test
move test test1

网路相关命令

用户操作命令

NET USER 将创建并修改计算机上的用户帐户。在不使用命令开关的情况下,将列出计算机的用户帐户。用户帐户信息存储在用户帐户数据库中,可以使用 net user /help查看详细信息

[username [password | *] [options]] [/DOMAIN]
         username {password | *} /ADD [options] [/DOMAIN]
         username [/DELETE] [/DOMAIN]
  • * 生成密码提示。在密码提示下键入密码时,将不会显示密码

  • /DOMAIN 在当前域的域控制器上执行此操作

  • /ADD 向用户帐户数据库添加用户帐户

  • /DELETE 从用户帐户数据库删除用户帐户

net user admin 123456 /add
net user admin /delete

使用 net user username可以查看用户信息(包含用户组信息)

net user Administrator

用户组操作命令

NET LOCALGROUP 修改计算机上的本地组。使用时如果没有选项,它将显示计算机上的本地组

NET LOCALGROUP
[groupname [/COMMENT:"text"]] [/DOMAIN]
              groupname {/ADD [/COMMENT:"text"] | /DELETE}  [/DOMAIN]
              groupname username [...] {/ADD | /DELETE} [/DOMAIN]
  • groupname 为要添加、扩展和删除的本地组的名称

  • /COMMENT:"text" 为新组或现有组添加注释。将文本用引号括起来

  • /DOMAIN 在当前域的域控制器上执行操作。否则,在本地工作站上执行该操作

  • name [ ...] 列出添加到本地组或从中删除的一个或多个用户名或组名。用空格将多个条目隔开。名称可以是用户或全局组,但不能是其他本地组

  • /ADD 将组名或用户名添加到本地组

  • /DELETE 将组名或用户名从本地组删除

net localgroup Administrators admin /add
net localgroup Administrators admin /delete

网络连通性检测命令

检查网络通信状态的命令,用于查看TCP/IP 网络上的PC 和网络设备是否正确连接 ping

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
            [-4] [-6] target_name

target_name可以是IP或域名

ping 127.0.0.1可以检测本地网卡是否正常工作

  • -t Ping 指定的主机,直到停止,按 ctrl+c停止

  • -n count 要发送的数据包的数量

  • -l size 发送缓冲区大小(数据包的大小)

  • -i TTL 生存时间

  • -r count 记录计数跃点的路由(仅适用于 IPv4)

  • -w timeout 等待每次回复的超时时间(毫秒)

远程连接

安全外壳协议(Secure Shell Protocol,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令

SSH Client 的基本使用方法

ssh user@remote -p port
  • user 是你在远程机器上的用户名,如果不指定的话默认为当前用户

  • remote 是远程机器的地址,可以是 IP,域名

  • port 是 SSH Server 监听的端口,如果不指定的话就为默认值 22

路由信息查看

tracert  target_name
  • -w timeout 等待每个回复的超时时间(以毫秒为单位)

  • -h maximum_hops 搜索目标的最大跃点数

网络适配器命令

ipconfig是电脑上用来控制网络连线的一个命令行工具。它的主要功用,包括用来显示现时网络连线的设置(/all参数),或透过/release参数来释放获取的ip位置,和透过 /renew 来重新获取ip位置的分配

ipconfig [/allcompartments] [/? | /all |
                                 /renew [adapter] | /release [adapter] |
                                 /renew6 [adapter] | /release6 [adapter] |
                                 /flushdns | /displaydns | /registerdns |
                                 /showclassid adapter |
                                 /setclassid adapter [classid] |
                                 /showclassid6 adapter |
                                 /setclassid6 adapter [classid] ]
  • /all 显示完整配置信息

  • /release 释放指定适配器的 IPv4 地址

  • /release6 释放指定适配器的 IPv6 地址

  • /renew 更新指定适配器的 IPv4 地址

  • /renew6 更新指定适配器的 IPv6 地址

  • /flushdns 清除 DNS 解析程序缓存

  • /displaydns 显示 DNS 解析程序缓存的内容

APR命令

地址解析协议(英语:Address Resolution Protocol,缩写:ARP)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,简而言之就是靠IP找MAC

命令 arp可以显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表

ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]
  • -a 通过询问当前协议数据,显示当前 ARP 项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项

  • -g 与 -a 相同

  • -v 在详细模式下显示当前 ARP 项

  • inet_addr 指定 Internet 地址

  • -N if_addr 显示 if_addr 指定的网络接口的 ARP 项

  • -d 删除 inet_addr 指定的主机,可以使用通配符

  • -s 添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联,是永久的

  • eth_addr 指定物理地址

arp -s 157.55.85.212   00-aa-00-62-c6-09	#添加静态项
arp -a                                  	#显示 ARP 表

条件判断语句

一般形式

if 条件表达式 (语句1) else if (语句) ... else (语句2)

第一种写法:最简单,就是写一行

@echo off
set v=zz
if %v%==zzp (echo ok) else (echo no)
pause>nul

第二种写法:可读性好的语法是分行写

注意:结构一定要严格遵守,分行后else要与右括号 对其并有一个空格

@echo off
set v=zz
if %v%==zzp (
    echo ok
) else (
    echo no
)
pause>nul

第三种写法:可读性好的语法是分行写的加强版

if 语句与左括号 ( 同行,右括号 ) 不与 else if 同行,右括号 ) 后面加上续行操作符 ^

@echo off
set v=zz
if %v%==zzp (
    echo ok
)^
else (
    echo no
)
pause>nul

操作数可以是字符串也可以是数值,同时还可以是变量;在命令扩展下支持的比较运算符有:"equ(等于)"、"neq(不等于)"、"lss(小于)"、"leq(小于等于)"、"gtr(大于)"、"geq(大于等于)"六种,其中"lss"、"leq"、"gtr"和"geq"四种比较操作符主要用于对数值进行比较,当参与比较的字符串是字符串时,将被转换为对于的ASCII码进行比较;而"equ"和"neq"既可以比较数值也可以比较字符串

用途

  1. 判断驱动器、文件或文件夹是否存在,用 if exist 语句;

  2. 判断某两个字符串是否相等,用 if "字符串1"=="字符串2" 语句;

  3. 判断某两个数值是否相等,用 if 数值1 equ 数值2 语句;

  4. 判断某个变量是否已经被赋值,用 if defined str 语句;

循环结构

基本语法

for [参数] %%变量名 in (匹配符) do (执行的命令)

:必须严格遵守语法,空格不能少

参数

/d, /r, /l, /f,加上无参数,所以一共五种

  • 无参:遍历当前路径的文件夹下的文件,但也可在(匹配符)中指定路径

  • /d:遍历当前路径的文件夹下的文件夹,但也可在(匹配符)中指定路径

  • /r [路径]:深度遍历指定路径下的所有文件,子目录中的文件也会被遍历到,如果没指定路径,默认当前路径

  • /l:当使用参数 /l 时,需结合(匹配符)一起使用,此时 () 括号内部的用法规则为:(start, step, end),此时的 for 命令作用等同于 java 语言中的 for 语句

  • /f:用于解析文件中的内容,匹配符写入文件目录

示例

for %%i in (*) do ( echo %%i )
for %%i in (c:\softwares\VisualBat\*.txt) do ( echo %%i )
for /d %%i in (*) do ( echo %%i )
for /r c:\softwares\ %%i in (*.url) do ( echo %%i )
#参数可结合使用,/d 表示遍历文件夹,/r 表示深度遍历,因此以上命令作用为深度遍历当前目录下的所有文件夹
for /d /r %%i in (*) do ( echo %%i )

GOTU语句

goto是个跳转命令,紧跟其之后的是标签名;冒号是一个标签标志,紧跟其之后的是标签名,两者合称标签

gotu:标签
:标签

注意事项

  1. 一一对应。goto语句与标签要相互对应。不允许只有goto语句而没有相应的标签段,否则,程序将找不到相应的标签段而直接退出;只有标签段而没有goto语句是允许的,但不能实现流程跳转功能,从代码精简的角度来看,有标签段而没有goto语句,则此标签是多余的,可以减去

  2. 多个标签。若有多个标签段,则需要注意标签段之间是否需要添加恰当的退出语句来终止程序继续向下执行,这是很多新手很容易犯错的地方,需要谨慎

  3. 标签名只可以使用常量,而不能使用变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/172913.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

36-剑指 Offer 38. 字符串的排列

题目 输入一个字符串&#xff0c;打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组&#xff0c;但里面不能有重复元素。 示例: 输入&#xff1a;s "abc" 输出&#xff1a;["abc","acb","bac","bca&quo…

二维前缀和数组二维差分数组

二维前缀和数组&二维差分数组 一维前缀和 用途&#xff1a;快速求出数组中nums[i,j]nums[i,j]nums[i,j]元素之和 定义&#xff1a;sums[i1]sums[i1]sums[i1]为nums数组前iii个元素之和 sums[i1]∑j0inums[j]sums[i 1] \sum _{j0} ^{i}nums[j] sums[i1]j0∑i​nums[j] …

神经网络——day67:Residual Network

Deep Residual Learning for Image RecognitionDeep Residual Learning for Image Recognition1. Introduction2. Related WorkResidual Representations(剩余表示).Shortcut Connections(快捷连接).3. Deep Residual Learning3.1. Residual Learning3.2. Identity Mapping by …

Java项目:学生管理系统

Java项目&#xff1a;学生管理系统一、学生管理系统基础版需求1. 初始菜单2. 学生类&#xff1a;3. 添加功能&#xff1a;4. 删除功能&#xff1a;5. 修改功能&#xff1a;6. 查询功能&#xff1a;代码1. 学生类2. 测试类输出结果a. 添加b. 删除c. 修改d. 查询e. 退出二、学生管…

前端监控 二三事

有必要针对 JS 错误做监控吗&#xff1f; 我们可以先假设不对 JS 错误做监控&#xff0c;试想会出现什么问题&#xff1f; JS 错误可能会导致渲染出错、用户操作意外终止&#xff0c;如果没有 JS 错误监控&#xff0c;开发者完全感知不到线上这些异常情况。特别是像电商、支付…

【2-神经网络优化】北京大学TensorFlow2.0

课程地址&#xff1a;【北京大学】Tensorflow2.0_哔哩哔哩_bilibiliPython3.7和TensorFlow2.1六讲&#xff1a;神经网络计算&#xff1a;神经网络的计算过程&#xff0c;搭建第一个神经网络模型神经网络优化&#xff1a;神经网络的优化方法&#xff0c;掌握学习率、激活函数、损…

7. 字符串str的详细讲解

python3字符串str的使用 (1) 基本使用 [a]. Python 中单引号 和双引号 " 使用完全相同&#xff1b; [b]. 使用三引号(单或双)可以指定一个多行字符串&#xff1b; # 长字符串 print( jkl fsf fs fs )[c]. 反斜杠可以用来转义&#xff0c;使用r(raw)可以让反斜杠…

【LeetCode高频100题-3】冲冲冲(持续更新23.1.19)

文章目录62. 不同路径题意解法1 排列组合解法2 动态规划62. 不同路径 题意 一道数学题&#xff0c;排列组合/小学奥赛题。动态规划不是一般来解决最值问题的吗&#xff0c;这道题为什么会想到dp&#xff1f; 解法1 排列组合 从左上角到右下角&#xff0c;一共要走mn-2步&am…

DEJA_VU3D - Cesium功能集 -完整地图标绘及编辑功能系列预告

前言编写这个专栏主要目的是对工作之中基于Cesium实现过的功能进行整合&#xff0c;有自己琢磨实现的&#xff0c;也有参考其他大神后整理实现的&#xff0c;初步算了算现在有差不多实现小140个左右的功能&#xff0c;后续也会不断的追加&#xff0c;所以暂时打算一周2-3更的样…

【算法】克鲁斯卡尔 (Kruskal) 算法

目录1.概述2.代码实现2.1.并查集2.2.邻接矩阵存储图2.3.邻接表存储图2.4.测试代码3.应用本文参考&#xff1a; 《数据结构教程》第 5 版 李春葆 主编 1.概述 &#xff08;1&#xff09;在一给定的无向图 G (V, E) 中&#xff0c;(u, v) 代表连接顶点 u 与顶点 v 的边&#xf…

【6s965-fall2022】剪枝✂pruningⅠ

模型剪枝的介绍 修剪&#xff0c;消除不必要的知识。DNN的知识可以理解为存在于其权重中。 事实证明&#xff0c;许多 DNN 模型可以被分解为权重张量&#xff0c;而权重张量经常包含统计冗余&#xff08;稀疏性&#xff09;。因此&#xff0c;你可以压缩 DNN 的权重张量&…

[从零开始]用python制作识图翻译器·五

测试 通过以上步骤我们终于实现了系统&#xff0c;现在到了紧张刺激的测试环节。直接运行run.py文件: python run.py ::注意需要进入conda环境稍作等等&#xff0c;我们的系统就运行啦&#xff08;啵唧啵唧&#xff09;。 在使用之前&#xff0c;我们还需要在设置中输入自己的…

使用vscode进行C++代码开发(linux平台)

使用vscode进行C代码开发(linux平台一、插件安装二、常用快捷键三、重要配置文件四、实际例子1. 编译并运行一个含有多个文件夹和文件的代码工程2. 编译并运行一个依赖第三方库的代码工程参考资料一、插件安装 执行 ctrl shift x打开插件窗口&#xff0c;然后搜索c插件&…

鸡格线(map操作)

鸡格线 (nowcoder.com) 题目描述 你有一个长为n的数组a&#xff0c;你需要支持以下两种操作: 1、输入l, r, k&#xff0c;对区间[1,r]中所有数字执行a; f(a;)操作k次(式中等号表示赋值操作)&#xff0c;之中f(z)round(10、c)&#xff0c;round为四舍五入函数。 2、输出当前数组…

缓存一致性问题怎么解决

关于Redis的其他的一些面试问题已经写过了&#xff0c;比如常见的缓存穿透、雪崩、击穿、热点的问题&#xff0c;但是还有一个比较麻烦的问题就是如何保证缓存一致性。对于缓存和数据库的操作&#xff0c;主要有以下两种方式。先删缓存&#xff0c;再更新数据库先删除缓存&…

Java 多线程 笔记

文章目录实现方式1. 通过Thread类2. 通过Runnable接口3. 通过Callable接口线程状态线程方法1. 线程停止2. 线程休眠sleep3. 线程礼让yield4. 线程强制执行join5. 线程状态观测getState6. 线程优先级守护线程&#xff08;daemon线程同步 TODO线程死锁Lock锁&#xff08;可重入锁…

Typora+Gitee+PicGo搭建图床

引言 markdown原则上不建议使用base64内嵌图片&#xff0c;因为太麻烦。 如果只是在本机浏览、编辑的话&#xff0c;那引用相对路径或者绝对路径即可&#xff0c;但是考虑到要发布、分享的情况&#xff0c;使用图床是比较好的解决方案。 本教程可以快速得到一个相对稳定的免…

单片机数据、地址、指令、控制总线结构

数据、地址、指令&#xff1a;之所以将这三者放在一同&#xff0c;是因为这三者的实质都是相同的──数字&#xff0c;或者说都是一串‘0’和‘1’组成的序列。换言之&#xff0c;地址、指令也都是数据。 指令&#xff1a;具体可参考文章 由单片机芯片的设计者规则的一种数字…

c程序gcc编译常见报错及解决方法整理

目录一、简介二、常见报错及解决方法1、数组定义错误2、Not enough information to produce a SYMDEFs file3、文件乱码<U0000>4、未定义或未申明报错5、代码中误加入中文三、其他相关链接一、简介 本文主要是整理c程序编译过程的常见报错的解决方法&#xff0c;方便大家…

Leetcode.312 戳气球

题目链接 Leetcode.312 戳气球 题目描述 有 n个气球&#xff0c;编号为0到 n - 1&#xff0c;每个气球上都标有一个数字&#xff0c;这些数字存在数组 nums中。 现在要求你戳破所有的气球。戳破第 i 个气球&#xff0c;你可以获得 nums[i−1]∗nums[i]∗nums[i1]nums[i - 1]…