批处理

dos/bat批处理教程——第四部分:完整案例

好久不见. 提交于 2019-12-07 03:53:13
以上就是批处理的一些用法。现在我们把这些用法结合起来详细的分析一下目前网上发布的一些批处理,看看他们是怎么运作的。这里我将列举三个例子来详细分析,为了保持程序的完整我的注释会加在/*后面。 例一 这个例子是利用iis5hack.exe对有.printer漏洞的主机进行溢出的批处理。用到的程序有iis5hack.exe和系统自带的telnet.exe。iis5hack的命令格式为: iis5hack <目标ip> <目标端口> <目标版本> <溢出连接端口>目标版本为0-9这10个数字分别对应不同语言版本和sp的系统版本,我们编制的批处理使用的命令格式为 <iis.bat 目标ip (开始版本号)>开始版本号可有可无。程序如下。 @echo off /*关闭命令回显 if "%1%"=="" goto help /*判断%1是否为空,%1为目标ip if "%2%"=="1" goto 1 /*判断%2是否为1,为1则跳转标志1 if "%2%"=="2" goto 2 /*%2为开始版本号,如果没有设置则 if "%2%"=="3" goto 3 /*如果存在则从匹配的地方开始执行 if "%2%"=="4" goto 4 if "%2%"=="5" goto 5 if "%2%"=="6" goto 6 if "%2%"=="7" goto 7 if "%2%"=="8"

批处理脚本:自动从SVN上更新代码并编译C#程序

陌路散爱 提交于 2019-12-07 03:11:46
之前写过一篇文章,是关于一个用VB.NET写的版本发布工具的,地址如下: http://my.oschina.net/Tsybius2014/blog/517298 使用该工具可以将Debug目录中编译好的程序打成安装包,并选出用于自动更新文件创建自动更新包。 今天我对我们项目中的这一发包过程进行了改进,实现了从SVN上自动更新代码后使用MSBUILD完成编译的过程。 脚本galatea.bat代码如下: :: Tsybius2014 - 20160622 svn update :: if you don't use path by input-param %~1, then use the path below set vspath=D:\Microsoft Visual Studio 11.0 if "%~1"=="" (call "%vspath%\VC\vcvarsall.bat" x86) else (call "%~1\VC\vcvarsall.bat" x86) msbuild "%~dp0\XXXXX.sln" /t:Rebuild /P:WarningLevel=2;Configuration=Debug 这个工具被放置到C#项目sln文件同一目录下就可以了。 (注:以两个冒号开始的行是注释行,下文说的第n行,不将这些注释行计算在内) 第一行 :svn

并发编程

拈花ヽ惹草 提交于 2019-12-06 19:10:46
一、手工操作——穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。 手工操作方式两个特点: 用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。 CPU 等待手工操作。CPU的利用不充分。 20世纪50年代后期,出现 人机矛盾 。:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成 批处理 。 二、批处理——磁带存储 批处理系统:加载在计算机上的一个 系统软件 ,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(这作业包括程序、数据和命令)。 联机批处理系统 联机(多份代码)使用 效率还是很低 CPU的利用率极低 读取数据速度特别慢 脱机批处理系统 读取数据速度提高 CPU的利用率提高 三、多道程序系统 多道程序设计技术 多道 比如:a,b需要使用cpu,a先试用,b等待a,直到a进入

DOS批处理中%cd%和%~dp0的区别

六眼飞鱼酱① 提交于 2019-12-06 13:56:48
DOS批处理中%cd%和%~dp0的区别 在DOS的批处理中,有时候需要知道当前的路径。 在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。 这两个变量的用法和代表的内容是不同的。 1. %cd% 可以用在批处理文件中,也可以用在命令行中; 展开后,是驱动器盘符:+当前目录,如在 dos 窗口中进入c:\dir目录下面, www.2cto.com 输入:echo %cd% ,则显示为:c:\dir 。 %cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。 2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的, 是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中, 它展开后的内容是不可以改变的。比如在D盘下有个批处理文件,path.bat,其内容为: [plain] @echo off echo this is %%cd%% %cd% echo this is %%~dp0 %~dp0 在C:\ 和E:\分别下执行它,输出为: 来源: oschina 链接: https://my.oschina.net/u/2250952/blog/506351

dos/bat批处理教程——第三部分:批处理与变量

久未见 提交于 2019-12-06 13:56:37
第三部分:批处理与变量 在批处理中适当的引用变量将会使你所编制的程序应用面更广。批处理每次能处理的变量从%0~%9共10个。其中%0默认给批处理的文件名使用。除非在使用SHIFT命令后%0才能被%1所替代。引用shift命令的例子如果把%1前面多加上一个%0那么结果如下: C::\>SHIFT.BAT 1 2 3 4 5 6 7 8 9 10 11 SHIFT.BAT 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 系统是如何区分每个变量的呢,系统区分变量的规则为字符串中间的空格,即只要发现空格就把空格前面的字符当作一个变量而空格后面的字符则作为另一个变量。如果你的变量是一个当中包含空格的长目录名这时候你需要用上一节特殊符号8中所用的引号将他圈起来。例: 批处理内容为: ECHO %1 ECHO %2 ECHO %3 输入命令: C:\>TEST “Program Files” Program Files Program Files Program Files 在一个复杂的批处理中又可能同时使用的变量会超过10个这时候会和系统的规则想冲突那么这个问题怎么解决呢?在系统中还有一种变量称之为环境变量(使用SET命令可以查看当前系统的环境变量)如当前系统目录是%windir%或%SystemRoot%等

“跑批”发展编年史

依然范特西╮ 提交于 2019-12-06 13:54:32
  “跑批”也叫“批量处理”、“批处理”,英文:Batch Processing,是现今各类IT系统中常见业务之一,根据统计,70%的业务系统中的操作,是通过跑批方式完成的。“跑批”简单来说,是将一类相同的业务“积攒”到一定的量(业务相同,成批量),在指定时间点启动进行自动处理,达到简化操作,提升效率的目的。分析批处理的过程,我们不难总结出批处理业务的特点:处理量大(成批),有特定的触发时机(指定时间点),可自动处理(无需人工干预)。 “跑批”的发展历程   跑批业务的特点特别适合使用计算机进行处理,因此从计算机出现的那一天开始,人们就开始使用计算机来处理跑批业务。处理跑批业务的计算机软件,被称为批量业务处理软件。批量业务处理软件伴随着跑批业务发展经历了多个阶段,从最初的一段小脚本发展到动态自适应的跑批处理平台,成为了现代IT系统中不可或缺的一部分,可谓波澜壮阔,精彩纷呈。下面我们来重温一下跑批软件的发展历程吧。 计算机 “跑批”的雏形,1952-1964。   计算机诞生伊始,尚没有现代计算机的输入和输出设备,只能通过在纸带上打孔的方式进行输入输出,一笔一笔地处理数据,需要不停地打孔,读孔,既费时又费力。为了提高效率,渐渐形成了将要处理的数据积攒成“批”,在指定时间一次性进行处理,极大地减少了频繁打孔读孔的操作,提高了效率。这种处理方法,被称为批处理

解决EditorLineEnds.ttr被锁定导致Delphi2006-2010无法启动的问题

三世轮回 提交于 2019-12-06 12:38:25
在Windows7环境下,安装Turbo Delphi(D2006)后发现,IDE第二次启动时会出现错误 提示: “Cannot create file C:\Users\Admin\AppData\Local\Temp\EditorLineEnds.ttr” 然后退出,启动失败。 搜索网络后发现,这个问题普遍发生在Delphi2006-2010几个版本。 Stack Overflow 上给出三个解决方案: 卸载相关安全补丁(KB2970228 KB2982791 KB2993651) 对锁定文件改名 安装IdeFixPack 次序尝试三种解决方案。 卸载安全补丁。查看添加删除程序,在列表里找不到上述任何一个补丁。失败。 对锁定文件改名。这个简单,Everything查找ttr文件,重命名,尝试启动Delphi,成功。 安装IdeFixPack。找到 作者网站 ,发现2006&2007版本已经停止维护。强行下载,运行,提示错误。这个办法失败。 看来只有改名可用,然而每次都手动改名是在是太麻烦了,再次搜索网络,找到了自动改名的批处理。 来自英巴迪卡 QualityCenter by Piotr Swaczyj @echo off cd \ cd %Temp% ren EditorLineEnds.ttr EditorLineEnds%date%_%time:~0,2%-%time:

性能调优5:执行计划

[亡魂溺海] 提交于 2019-12-06 11:41:20
原文: 性能调优5:执行计划 查询优化器基于当前的统计信息和参数,衡量开销之后,选择“最优”的执行计划,需要注意的是,“最优”是相对的,优化器不可能穷举所有的执行计划来评估其开销,这个“最优”的标准是对当前参数和当前的统计信息来说的,优化器从生成的备选执行计划中选择开销最小的。由于执行计划的编译和生成是很耗费资源和时间的,因此,SQL Server会把生成的任一执行计划缓存起来,以便重用。 由于关系表的数据和结构可能发生改变,数据更新会导致统计信息过时,而之前的参数可能不具有代表性,使得已生成的执行计划不能代表其他参数值,导致查询性能低下。因此,应当监控执行计划的性能,当发现参数嗅探问题时,应该及时修改代码以重编译;当发现统计信息过期时,应及时更新统计信息等。 一,缓存机制 SQL Server使用特定的缓存机制,以重用第一次执行查询时生成的执行计划,总的来说,SQL Server内部有以下四种执行计划缓存机制: Ad hoc 查询缓存 参数化Ad Hoc查询缓存 sys.sp_executesql 执行的查询,是一种参数化的查询语句 存储过程 对于Adhoc查询的缓存,是SQL Server自动进行的,用户不能干预,而后两种是用户可以干预的,用户可以通过优化代码来复用“模板化”的查询。所谓模板化语句,是指除了个别的常量发生变化之外,语句主体不变,可以把变化的常量作为一个参数

收集各大互联网公司大数据平台架构

丶灬走出姿态 提交于 2019-12-06 11:35:27
收集各大互联网公司大数据平台架构 https://www.cnblogs.com/swordfall/p/11198015.html 分类: Hadoop undefined 1. 五种主流的大数据架构 1.1 传统大数据架构      之所以叫传统大数据架构,是因为其定位是为了解决传统BI的问题,简单来说,数据分析的业务没有发生任何变化,但是因为数据量、性能等问题导致系统无法正常使用,需要进行升级改造,那么此类架构便是为了解决这个问题。可以看到,其依然保留了ETL的动作,将数据经过ETL动作进入数据存储。    优点: 简单,易懂,对于BI系统来说,基本思想没有发生变化,变化的仅仅是技术选型,用大数据架构替换掉BI的组件。    缺点: 对于大数据来说,没有BI下如此完备的Cube架构,虽然目前有kylin,但是kylin的局限性非常明显,远远没有BI下的Cube的灵活度和稳定度,因此对业务支撑灵活度不够,所以对于存在大量报表,或者复杂的钻取的场景,需要太多的手工定制化,同时该架构依旧以批处理为主,缺乏实时的支撑。    适用场景: 数据分析需求依旧以BI场景为主,但是因为数据量、性能等问题无法满足日常使用。 1.2 流式架构      在传统大数据架构的基础上,流式架构非常激进,直接拔掉了批处理,数据全程以流的形式处理,所以在数据接入端没有了ETL,转而替换为数据通道

批处理

柔情痞子 提交于 2019-12-06 11:04:30
转载自: https://www.cnblogs.com/yang-hao/p/6002715.html 1 路径相关 在批处理开头加入cd /d %~dp0 一行代码就真真实实地做到“编写一次,到处运行”。%0是批处理文件本身的路径,%~dp进行扩展, d向前扩展到驱动器,p往后扩展到路径。例如,你的bat文件在e:/mybat/test.bat,则%0就是e:/mybat/test.bat, %~dp0是e:/mybat/。 另外,%i提取第i个命令选项,例如%1提取第1个option,i可以取值从1到9 %~0: 取文件名(名+扩展名) %~f0:取全路径 %~d0:取驱动器名 %~p0:只取路径(不包驱动器) %~n0:只取文件名 %~x0:只取文件扩展名 %~s0:取缩写全路径名 %~a0:取文件属性 %~t0:取文件创建时间 %~z0:取文件大小 以上选项可以组合起来使用。 %1就是表示批处理的第一个参数, %~1表示删除参数外面的引号 比如有个批处理文件 test.bat 在cmd中输入命令 test.bat "test" %1表示的是“test“。%~1表示的是test,没有了双引号 2 call,start命令 call 会等待进程结束, start不会等待 start调用exe路径中包含空格的方法: start "" "C:\Program Files (x86