文档章节

批处理相关笔记

周田
 周田
发布于 2016/07/11 16:26
字数 456
阅读 16
收藏 2

字符串替换

格式 %变量C:A=B%

意思就是把变量C中的A替换为B

·批处理对格式要求严格,该有的空格不能省略

(比如for语句 in 和do 旁边的括号就必须有空格;echo 与括号之间也应该有空格,否则就报错)

·开启延迟环境变量扩展.

我对延迟变量了解得不清楚,仅仅有一些印象,就是当你想让声明后的变量可以马上用起来,而不提示 ECHO已关闭的话, 那么就要先开启这个变量延迟。 开启之后,引用变量的方式要从百分号变成感叹号: %var%变成 !var!

开启方式在代码前面写:

setlocal EnableDelayedExpansion

自动请求管理员权限

讲这段代码放在你的代码前面即可:

%1 %2 
ver|find "5.">nul&&goto :st 
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&goto :eof 
:st 
copy "%~0" "%windir%\system32\"

添加多行内容

我的做法是直接重定向进去:

echo 内容1>> temp.txt
echo 内容2>> temp.txt

删除指定行数内容

比如你需要删除 出现ABC 的那一段 到 EFG 那段中的所有内容。

那么可以使用这段代码:

set FIND_ABC=false
set FIND_EFG=false
echo.>temp.txt
for /f  "delims=" %%i in ( file.txt ) do (
	set currentLine=%%i 
	echo !currentLine!|find "ABC">nul&&set FIND_START=true
	if !FIND_START!==true (
		if !FIND_END!==true (
			echo %%i>>temp.txt
		) 
	) else (
		echo %%i>>temp.txt
	) 
	echo !currentLine!|find "EFG">nul&&set FIND_END=true
 )

这段代码的作用就是在循环到ABC和EFG那段的时候,不ECHO任何信息,

除此之外其他所有内容都ECHO到 临时问题件temp.txt上面去。

最后删除file.txt文件,讲临时文件temp.txt重命名为file.txt实现删除指定行内容。

del file.txt rem 删除文件
ren temp.txt file.txt 修改temp.txt名为file.txt

© 著作权归作者所有

共有 人打赏支持
周田
粉丝 4
博文 122
码字总数 22818
作品 0
德阳
私信 提问
Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术

Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术 本系列为UnityShader入门精要读书笔记总结, 原作者博客链接:http://blog.csdn.net/candycat1992/article/ 书籍链接:http:...

wwlcsdn000
2018/01/04
0
0
苹果macOS Mojave发布,四年来最大更新

问耕 发自 凹非寺 量子位 出品 | 公众号 QbitAI 苹果电脑下一代操作系统macOS Mojave,今天已经正式发布。 现在起,登录Mac App Store就能下载更新。新版macOS大小5.7GB,版本号为macOS 10....

量子位
2018/09/25
0
0
android学习笔记之使用网络资源(二)

使用网络服务 软件作为一个服务--Software as a service(SaaS)和云计算变得越来越流行,作为公司努力去减少相关的软件安装,升级,维护的开支的手段。 这样的趋势也导致出现了一系列的网络服...

Chanimalx
2013/01/21
0
1
《操作系统》笔记01——操作系统概论

1、操作系统的特征 并发:两个或多个事件在同一时间间隔内发生。 共享:系统中的资源供内存中多个并发执行的进程共同使用。 虚拟:一个物理上的实体变为若干个逻辑上的对应物。 异步 并发和共...

hlk_1135
2018/01/21
0
0
如何高效学习-斯科特杨 读书总结

如何高效学习-斯科特杨 读书总结 以下内容为如何高效学习书籍内容总结: 书籍简介 一位因为快速学习而成名的神奇小子,他应用自己发明的学习方法,完成了10天搞定线性代数,1年学习4年MIT课程...

wwlcsdn000
2017/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。

import java.util.Stack; public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { if(pushA.length==0||popA.length==0) return false; Stack......

南桥北木
40分钟前
1
0
互联网浪潮下,Java程序员如何追赶技术革新的脚步?

一:时代背景 身处互联网行业的我们一直处在变革的最前端,受到行业发展浪潮的洗礼,不停歇地追赶着技术革新的脚步。特别是近几年来, 互联网架构不断演化,经历了从集中式架构到分布式架构,...

老道士
47分钟前
1
0
flink系列(9)-flink启动流程分析

连续写了几天的flink StreamGraph的代码,今天闲来说一下flink的启动

yiduwangkai
今天
1
0
取变量的地址赋值给另一个变量,C通过,C++编译出错

取变量的地址赋值给另一个变量,C通过。正常运行,C++编译出错。 代码如下: #include <stdio.h>int main(int argc, char *argv[]){int x = 3;int *p = &x;int y = p;/*c ...

SamXIAO
今天
1
0
利用隐写术实施攻击

尽管隐写术是一种低频攻击途径,但网络犯罪分子已经开始利用它结合社交媒体的普遍性和快速传播性来传递恶意有效负载。 低调但有效的隐写技术虽然是旧把戏,但将代码隐藏在看似正常的图像中,...

Linux就该这么学
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部