批处理之新窗口执行命令的脚本

用bat脚本打开新窗口输出hello world:

start "" cmd /k "echo hello world"

""表示新窗口没标题或者标题为空

/k表示执行完命令不关闭新窗口,/c表示执行完关闭窗口

1、用bat脚本打开一个新窗口,标题为tom,输出hello,两秒后输出world

timeout /t 2倒计时两秒,也有人喜欢用ping,(ping 127.1 –n 2 >nul)

输出多个命令之间需要用&&符号,都在新窗口输出需要用""引号标注,如果不打"",第一个命令后面的将在启动脚本窗口执行,不会在新窗口执行

start "tom" cmd /k "echo hello&& timeout /t 2 && echo world"

2、如何将新打开的窗口取消掉编辑插入模式,防止鼠标点击新窗口导致窗口卡住,服务不运行

在脚本最前面复制一下命令,脚本中新打开的窗口都会默认关闭编辑和插入模式

reg add HKEY_CURRENT_USER\Console /v QuickEdit /t REG_DWORD /d 00000000 /f

3、如何控制新打开窗口大小

脚本开头定义变量

set evn1=mode con cols=70 lines=25

cols为窗口长度,lines为窗口宽度(是不是百分比不太清楚)

调用变量方法:%evn1%

start "tom" cmd /k "%evn1% && echo hello&& timeout /t 2 && echo world"

4、手动设置标题

title kimi
start "" cmd /k "%evn1% &&title kimi && echo hello&& timeout /t 2 && echo world"

5、设置地址

在E盘a目录下打开新窗口

start "" /d E:\a cmd /k "echo hello world"

综合:

创建一个批处理脚本,在E盘a目录下,打开一个标题为a的窗口,大小设置,对a目录下的git代码进行更新,打包,并启动子目录target中test.jar包

@echo off

::======配置变量========
rem 这个单词开头的为注释信息
rem 设置地址path_a
set path_a=E:\a
rem 设置窗口大小
set evn1=mode con cols=70 lines=25
::======开始运行========
rem 禁止新窗口启动编辑插入模式
reg add HKEY_CURRENT_USER\Console /v QuickEdit /t REG_DWORD /d 00000000 /f
start /d E:\a cmd /k "%evn1% && git pull && mvn install && cd target && title a && java -jar test.jar"

rem 脚本结尾最后加上pause,执行完脚本还在等待任意输入,退出,如果不加脚本执行完直接关闭脚本执行窗口

补充:windows bat如何启动一个新的cmd窗口并在其内执行命令

两种方式:

1,

start cmd /k echo Hello, World!

2,

start cmd /C pause

区别是第二种执行完毕以后,新开的窗口会自动关闭,第一种则不会

参考:http://stackoverflow.com/questions/9392874/bat-file-open-new-cmd-window-and-enter-code-in-there

到此这篇关于批处理之新窗口执行命令的文章就介绍到这了,更多相关批处理新窗口执行命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 批处理命令call、start、goto的使用

    目录 1.call命令 1.1调用批处理 1.2调用目标标签 2.调用call 和不用call 的区别 3.goto 命令 4.start类似于创建一个线程 1.call命令 CALL从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序.call命令主要有2种用法,一种是调用其他批处理程序(*.bat,*.exe,*.cmd,*.COM),目前常用的是*.exe文件和*.bat文件:另一种是CALL :label arguments C:\Users\Administrator>help

  • 批处理BAT脚本中set命令的使用详解(批处理之家Batcher)

    目录 一.使用 set 命令进行赋值 1.等号两边不要有空格 2.变量值包含特殊字符需用双引号 3.避免使用系统环境变量同名的自定义变量 4.语法可行但不推荐使用 二.使用 set /p 命令读取输入 三.使用 set /a 命令进行数学运算(1) 四.使用 set /a 命令进行数学运算(2) 五.使用 set 命令进行字符串截取 六.使用 set 命令进行字符串替换 七.set命令知识点(1)把命令结果赋值给变量 八.set命令知识点(2)显示以某字符开头的变量 一.使用 set 命令进行赋

  • 批处理命令批量复制文件并重命名的实现

    工作中如果需要把一个文件复制成N个内容一样且名称不一样的文件,可以使用批处理命令实现 步骤如下: 1.如现有文件名称为:test001.ini 文件 2.创建一个文件名称列表 FileList.txt,2种方式可以创建 1)是可以使用excel创建,然后复制到 FileList.txt 2)通过批处理命令实现 REM @echo off @echo off set name=FileList.txt set exc=.ini for /l %%i in (01,1,99) do ( echo %

  • 批处理copy命令的具体使用

    目录 示例 单个文件的复制 批量复制文件 合并文件 没有后缀的文件怎么复制? 本文的命令说明来自与DOS命令帮助说明,如果与DOS命令帮助说明不同,请以DOS命令帮助说明为准. 语法 copy[源盘符:][路径]<源文件名>[a|b][目标盘符:][路径]<目标文件>[a|b][/d][/v][/n][y|-y][/z][/?] copy<源文件名>+<源文件名2>[+……][<目标文件名>] copy con:[文件名全称] 参数 $ copy

  • 批处理模式下运行 top 命令的方法

    top 命令 是每个人都在使用的用于 监控 Linux 系统性能 的最好的命令.你可能已经知道 top 命令的绝大部分操作,除了很少的几个操作,如果我没错的话,批处理模式就是其中之一. 大部分的脚本编写者和开发人员都知道这个,因为这个操作主要就是用来编写脚本. 如果你不了解这个,不用担心,我们将在这里介绍它. 什么是 top 命令的批处理模式 批处理模式允许你将 top 命令的输出发送至其他程序或者文件中. 在这个模式中,top 命令将不会接收输入并且持续运行,直到迭代次数达到你用 -n 选项指

  • 批处理之新窗口执行命令的脚本

    用bat脚本打开新窗口输出hello world: start "" cmd /k "echo hello world" ""表示新窗口没标题或者标题为空 /k表示执行完命令不关闭新窗口,/c表示执行完关闭窗口 1.用bat脚本打开一个新窗口,标题为tom,输出hello,两秒后输出world timeout /t 2倒计时两秒,也有人喜欢用ping,(ping 127.1 –n 2 >nul) 输出多个命令之间需要用&&符

  • 在linux上定期执行命令、脚本(cron,crontab,anacron)

    人类把时间做了切割,想象一条笔直的线永远向前,本来这条直线上什么都没有,但是人类根据时间的长短(单位)在这条直线上做了密密麻麻的标记(世纪-年-月-日-时-分-秒-纳秒......),通过这样的方式历史上的每一个时刻都能够被单独拿出来,而未来的每一个时刻也能被单独计划.更重要的是,每一个单独的时刻又能跟相邻的被更大单位所控制的相似时刻做比较,比如,今天的晚上12点跟明天的晚上12点,相似的是,两个时刻都是12点,不同的是今天跟明天,她们是相邻的更大单位.因为这样的缘故,在被更大单位所隔开的每一个

  • 详解如何在 Linux 启动时自动执行命令或脚本

    我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时,也是这样. 更有意思的是,在系统启动以及用户登录或注销时,还可以让系统执行特定的操作. 本文,我们将探讨一下在 Linux 操作系统中实现这些目标的传统方法. 注意:我们假定使用的是 Bash 作为登录及注销的主 Shell.如果你使用的是其他 Shell,那么有些方法可能会无效.如果有其他的疑问

  • .NET Core跨平台执行命令、脚本的方法详细

    一.前言 在工作中我们可能会遇到需要在程序中执行一些系统命令,来获取一些信息:或者调用shell脚本..NET Core 目前已经可以跨平台执行,那么它如何跨平台执行命令呢,请看下面的讲解.话不多说了,来一起看看详细的介绍吧 二.ProcessStartInfo.Process 类介绍 我们主要用到的两个类就是 ProcessStartInfo 和 Process ,他们的用法和.NET Framework下是一样的. 1. ProcessStartInfo 类 ProcessStartInfo

  • 用vbs通过135端口执行命令的脚本

    wmiexec.vbs(通过135端口执行命令) 复制代码 代码如下: set ww=createobject("wbemscripting.swbemlocator")  set cc=ww.connectserver("172.20.241.218","root/cimv2","user","password")  Set pp=cc.get("Win32_Process")  pp

  • shell脚本批量复制及执行命令的示例详解

    平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可以找到一些省时省力的方法,比如写一个批量处理shell脚本,这几天在处理一批(八九十台)机器环境,找了一些批量处理的脚本,包括批量传输(scp)文件到多台机器上.批量执行命令到多台机器.还有需要交互的命令,下面记录一些这些命令: 机器IP文件:ip.txt 192.168.10.201 192.16

  • 通过shell脚本循环进入目录执行命令的方法

    公司需要部署一套新的环境,新环境里面好多项目,整体目录结构如为:/webserver/* 所有的项目都在webserver目录下,其中有laravel和thinkphp项目的代码. laravel框架中, 根目录下storage vendor bootstrap 目录需要设置777权限. thinkphp框架,根目录App下Runtime目录需要设置777权限. 因此相对应的目录结构如下; laravel框架的目录结构为:/webserver/aaa/www/storage,vendor,boo

  • Shell脚本中实现切换用户并执行命令操作

    今天公司同事来找到我说要在服务器上用另外一个用户执行python脚本,但设置到crontab里却老是root用户来执行,为了省事我就想了一个偷懒的办法,就是用shell脚本切换到那个用户,然后去执行那个python脚本.好了,这篇文章我只演示怎么用shell脚本切换到其他用户执行命令. 系统:centos 5.x 脚本内容: cat test.sh 复制代码 代码如下: #!/bin/bash su - test <<EOF pwd; exit; EOF 执行结果图: 当然也可以用下面的命令来

  • shell中使用expect命令进行远程执行命令脚本

    expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] #!/usr/bin/expect set ip [lindex $argv 0] set p

  • MySQL执行外部sql脚本文件的命令

    目录 1.创建包含sql命令的sql脚本文件 2.执行sql脚本文件(介绍三种方式) sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为"sql脚本文件"),然后通过相关的命令执行这个sql脚本文件. 1.创建包含sql命令的sql脚本文件 在D盘根目录下新建一个文本文档,并改名为day01.sql(名字自己取,最好不要有中文,特殊符号,以.sql结尾)   day01.sql文件中包含一些列的sql语句,每条语句最后以;结尾,文件内

随机推荐