精华内容
下载资源
问答
  • windows运行bat文件时隐藏命令行(黑框框)!还在因为运行bat文件有黑框存在而烦恼?不知道如何隐藏cmd黑框?网上抄了种种无效?
  • 解决Windows下bat文件不能直接运行问题 bat文件不能直接运行,打开变成是记事本方式的,下面我们看下解决方法:
  • 用来整人的bat文件.bat

    2020-03-10 14:40:33
    想在朋友的电脑上搞恶作剧?使用这个批处理吧! 类型:bat 大小:7.74 KB (7,927 字节)
  • bat调用另一个bat文件

    2017-10-18 10:59:57
    一个批处理文件调用另一个批处理文件,很好用的,在开发中经常用到
  • 由于 Runtime.getRuntime().exec(cmd /k start ipconfig) 的方式执行完一条命令会直接闪退窗口,无法处理同一窗口执行多条命令等复杂业务,所以采用生成bat文件的方式,再通过运行bat文件执行cmd命令
  • mysql启动和关闭.bat文件mysql启动和关闭.bat文件mysql启动和关闭.bat文件mysql启动和关闭.bat文件
  • BAT文件1.BAT文件

    2018-05-22 19:53:29
    BAT文件1.BAT文件1.BAT文件1.BAT文件1.BAT文件1.BAT文件1.BAT文件1.BAT文件
  • 把批处理文件bat格式转换成可执行的exe格式。
  • traceview.bat文件下载

    2018-04-04 10:39:08
    DDMS files not found traceview.bat问题,将traceview.bat文件放到SDK相应tools文件夹下,重启eclipse
  • bat文件可以一键安装python2.7.3版本,自动设置永久的环境变量,自动安装setuptools以及pip,也可以自动安装mysqldb和django框架.,执行启动文件,先执行start1.bat然后再执行start2.bat文件即可一步一步的安装了
  • 修复BAT文件关联1

    2013-01-30 17:30:12
    首先在注册表编辑器里打开如下位置: HKEY_USERS\<USERID>\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat HKEY_CURRENT_USER\Software\...直接下载 修复BAT文件关联.REG 文件双击即可修复
  • 可以获取到指定目录下的所有文件信息,包括名称、时间
  • BAT文件代码

    2014-05-09 15:28:52
    Select.bat BAT文件代码 批处理
  • java创建并调用bat文件

    热门讨论 2013-05-24 17:58:37
    java创建并调用bat文件
  • bat文件执行sql文件后导入到sql 2008 R2数据库
  • 如何将bat文件设为windows系统启动服务。。
  • pc 调用bat 及传递参数给bat文件
  • 常用命令 echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @与...

    常用命令

    echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。
    echo 表示显示此命令后的字符
    echo off 表示在此语句后所有运行的命令都不显示命令行本身
    @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
    call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
    pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue…的提示,等待用户按任意键后继续
    rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。
    例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

      批处理文件的内容为:         命令注释:

        @echo off           不显示后续命令行及当前命令行
        dir c:*.* >a.txt       将c盘文件列表写入a.txt
        call c:\ucdos\ucdos.bat    调用ucdos
        echo 你好            显示”你好”
        pause              暂停,等待按键继续
        rem 准备运行wps         注释:准备运行wps
        cd ucdos            进入ucdos目录
        wps               运行wps  

    批处理文件的参数

    批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符”%”。

    %[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。

    例2:C:根目录下有一批处理文件名为f.bat,内容为:
    @echo off
    format %1
    如果执行C:>f a:
    那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:

    例3:C:根目录下一批处理文件名为t.bat,内容为:
    @echo off
    type %1
    type %2
    那么运行C:>t a.txt b.txt
    %1 : 表示a.txt
    %2 : 表示b.txt>
    于是上面的命令将顺序地显示a.txt和b.txt文件的内容。

    特殊命令

    if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。

    一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:

    1、if [not] “参数” == “字符串” 待执行的命令

    参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。

    例:if “%1”==”a” format a:

    2、if [not] exist [路径]文件名 待执行的命令
    如果有指定的文件,则条件成立,运行命令,否则运行下一句。

    如: if exist c:\config.sys type c:\config.sys
    表示如果存在c:\config.sys文件,则显示它的内容。

    3、if errorlevel <数字> 待执行的命令

    很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。

    如if errorlevel 2 goto x2

    二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。

    如:

    goto end

    :end
    echo this is the end

    标号用”:字符串”来定义,标号所在行不被执行。

    三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。

    注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。

    choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):

    CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

    描述:
      该工具允许用户从选择列表选择一个项目并返回所选项目的索引。

    参数列表:
     /C  choices    指定要创建的选项列表。默认列表是 “YN”。

     /N         在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。

     /CS        允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。

     /T  timeout    做出默认选择之前,暂停的秒数。可接受的值是从 0 到 9999。如果指定了 0,就不会有暂停,默认选项
               会得到选择。

     /D  choice    在 nnnn 秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中; 同时,必须用 /T 指定 nnnn。

     /M  text     指定提示之前要显示的消息。如果没有指定,工具只显示提示。

     /?         显示帮助消息。

     注意:
     ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0 的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降序排列。

    示例:
     CHOICE /?
     CHOICE /C YNC /M “确认请按 Y,否请按 N,或者取消请按 C。”
     CHOICE /T 10 /C ync /CS /D y
     CHOICE /C ab /M “选项 1 请选择 a,选项 2 请选择 b。”
     CHOICE /C ab /N /M “选项 1 请选择 a,选项 2 请选择 b。”
     
    如果我运行命令:CHOICE /C YNC /M “确认请按 Y,否请按 N,或者取消请按 C。”
    屏幕上会显示:
    确认请按 Y,否请按 N,或者取消请按 C。 [Y,N,C]?
     
     
    例:test.bat的内容如下(注意,用if errorlevel判断返回值时,要按返回值从高到低排列):
    @echo off
    choice /C dme /M “defrag,mem,end”
    if errorlevel 3 goto end
    if errorlevel 2 goto mem
    if errotlevel 1 goto defrag

    :defrag
    c:\dos\defrag
    goto end

    :mem
    mem
    goto end

    :end
    echo good bye
    此批处理运行后,将显示”defrag,mem,end[D,M,E]?” ,用户可选择d m e ,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,批处理运行结束。

    四、for 循环命令,只要条件符合,它将多次执行同一命令。

    语法:
    对一组文件中的每一个文件执行某个特定命令。

    FOR %%variable IN (set) DO command [command-parameters]

    %%variable    指定一个单一字母可替换的参数。
    (set)      指定一个或一组文件。可以使用通配符。
    command     指定对每个文件执行的命令。
    command-parameters 为特定命令指定参数或命令行开关。

    例如一个批处理文件中有一行:
    for %%c in (.bat .txt) do type %%c

    则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。

    批处理示例

    1. IF-EXIST

    1)

    首先用记事本在C:\建立一个test1.bat批处理文件,文件内容如下:
    @echo off
    IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT
    IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist

    然后运行它:
    C:>TEST1.BAT

    如果C:\存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。

    2)

    接着再建立一个test2.bat文件,内容如下:
    @ECHO OFF
    IF EXIST \%1 TYPE \%1
    IF NOT EXIST \%1 ECHO \%1 does not exist

    执行:
    C:>TEST2 AUTOEXEC.BAT
    该命令运行结果同上。

    说明:
    (1) IF EXIST 是用来测试文件是否存在的,格式为
    IF EXIST [路径+文件名] 命令
    (2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。

    3) 更进一步的,建立一个名为TEST3.BAT的文件,内容如下:
    @echo off
    IF “%1” == “A” ECHO XIAO
    IF “%2” == “B” ECHO TIAN
    IF “%3” == “C” ECHO XIN

    如果运行:
    C:>TEST3 A B C
    屏幕上会显示:
    XIAO
    TIAN
    XIN

    如果运行:
    C:>TEST3 A B
    屏幕上会显示
    XIAO
    TIAN

    在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。

    2、IF-ERRORLEVEL

    建立TEST4.BAT,内容如下:
    @ECHO OFF
    XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败
    IF ERRORLEVEL 0 ECHO 成功拷贝文件

    然后执行文件:
    C:>TEST4

    如果文件拷贝成功,屏幕就会显示”成功拷贝文件”,否则就会显示”文件拷贝失败”。

    IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。因此下面的批处理文件是错误的:
    @ECHO OFF
    XCOPY C:\AUTOEXEC.BAT D:\
    IF ERRORLEVEL 0 ECHO 成功拷贝文件
    IF ERRORLEVEL 1 ECHO 未找到拷贝文件
    IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作
    IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作
    IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误

    无论拷贝是否成功,后面的:

    未找到拷贝文件
    用户通过ctrl-c中止拷贝操作
    预置错误阻止文件拷贝操作
    拷贝过程中写盘错误

    都将显示出来。

    以下就是几个常用命令的返回值及其代表的意义:
    backup
    0 备份成功
    1 未找到备份文件
    2 文件共享冲突阻止备份完成
    3 用户用ctrl-c中止备份
    4 由于致命的错误使备份操作中止

    diskcomp
    0 盘比较相同
    1 盘比较不同
    2 用户通过ctrl-c中止比较操作
    3 由于致命的错误使比较操作中止
    4 预置错误中止比较

    diskcopy
    0 盘拷贝操作成功
    1 非致命盘读/写错
    2 用户通过ctrl-c结束拷贝操作
    3 因致命的处理错误使盘拷贝中止
    4 预置错误阻止拷贝操作

    format
    0 格式化成功
    3 用户通过ctrl-c中止格式化处理
    4 因致命的处理错误使格式化中止
    5 在提示”proceed with format(y/n)?”下用户键入n结束

    xcopy
    0 成功拷贝文件
    1 未找到拷贝文件
    2 用户通过ctrl-c中止拷贝操作
    4 预置错误阻止文件拷贝操作
    5 拷贝过程中写盘错误

    3、IF STRING1 == STRING2

    建立TEST5.BAT,文件内容如下:
    @echo off
    IF “%1” == “A” formAT A:

    执行:
    C:>TEST5 A
    屏幕上就出现是否将A:盘格式化的内容。

    注意:为了防止参数为空的情况,一般会将字符串用双引号(或者其它符号,注意不能使用保留符号)括起来。
    如:if [%1]==[A] 或者 if %1*==A*

    5、GOTO

    建立TEST6.BAT,文件内容如下:
    @ECHO OFF
    IF EXIST C:\AUTOEXEC.BAT GOTO _COPY
    GOTO _DONE
    :_COPY
    COPY C:\AUTOEXEC.BAT D:\
    :_DONE

    注意:
    (1) 标号前是ASCII字符的冒号”:”,冒号与标号之间不能有空格。
    (2) 标号的命名规则与文件名的命名规则相同。
    (3) DOS支持最长八位字符的标号,当无法区别两个标号时,将跳转至最近的一个标号。

    6、FOR

    建立C:\TEST7.BAT,文件内容如下:
    @ECHO OFF
    FOR %%C IN (.BAT .TXT *.SYS) DO TYPE %%C

    运行:
    C:>TEST7

    执行以后,屏幕上会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的文件内容显示出来(不包括隐藏文件)。

    展开全文
  • 自带管理员权限的BAT文件

    热门讨论 2013-03-08 14:43:35
    一个使自身具有UAC的批处理文件 ,在WIN7下运行就会弹出UAC框。
  • 将任意程序转化为bat文件,主要是debug语句的应用。
  • Bat文件进行加密

    万次阅读 2019-04-09 13:38:44
    将要加密的bat文件开头加入两个空行,并拖入到MiniHex软件中: 修改前两个字节的数据,修改为FF FE(或者修改为FE FF也可以)如图: 保存一下,Ctrol+s,此时就可以了。 会在bat文件所在目录生成.bak文件,这就是...

    1、通过改变进制的方法
    下载一个16进制编辑软件,比如MiniHex。
    将要加密的bat文件开头加入两个空行,并拖入到MiniHex软件中:
    在这里插入图片描述
    修改前两个字节的数据,修改为FF FE(或者修改为FE FF也可以)如图:
    在这里插入图片描述
    保存一下,Ctrol+s,此时就可以了。
    会在bat文件所在目录生成.bak文件,这就是源文件(加密前的文件),此时打开原来的文件如下:
    在这里插入图片描述

    2、通过在bat文件的开头增加标识符。具体加密和解密的代码如下:
    将以下代码保存为bat文件,双击运行即可,根据提示,输入所要加密文件的绝对路径回车即可。
    加密完成后,会在这个加密bat文件目录生成encrypt.bat文件,这个文件就是加密后的文件。

    @echo off 
    cls 
    color 2a 
    :start 
    cls 
    echo ******************************************************************************* 
    echo * * 
    echo * BAT 加 密 * 
    echo * * 
    echo ******************************************************************************* 
    echo. 
    echo. 
    echo. 
    echo ★ 可以一次性成功加密任何批处理文件, 更省事. 
    echo. 
    echo ★ 可以由您输入任意需要加密的批处理, 加密灵活性更大. 
    echo. 
    echo ★ 能够自动判断错误输入, 更加人性化. 
    echo. 
    echo 说明: 在下面输入需要加密的批处理文件, 直接输入批处理文件名为加密当前目录下的BAT,也可以带路径指定任意BAT. 当前目录下生成的encrypt.bat文件即为加密的批处理. 
    echo. 
    echo. 
    echo. 
    set /p file=请输入需要加密的批处理后按回车键(q=退出): 
    if "%file%"=="q" goto quit 
    echo %file%|findstr /i "\.bat$">nul && goto go 
    echo %file%|findstr /i "\.cmd$">nul && goto go 
    cls 
    echo ============== 
    echo 请正确输入! 
    echo ============== 
    echo. 
    echo. 
    echo 按任意键重新输入...... 
    pause>nul 
    goto start 
    :go 
    if not exist "%file%" goto newly 
    if exist encrypt.bat copy encrypt.bat encryptbak.bat 
    echo %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a %%%%a >"%tmp%\encrypt.tmp" 
    echo cls>>"%tmp%\encrypt.tmp" 
    type "%file%">>"%tmp%\encrypt.tmp" 
    setlocal enabledelayedexpansion 
    for %%i in ("%tmp%\encrypt.tmp") do ( 
    echo %%~zi >nul 2>nul 
    set size=%%~zi 
    set num=!size:~-1! 
    set /a mod=!num!%%2 
    if !mod! equ 0 (goto even) else (goto odd) 
    ) 
    :even 
    copy "%tmp%\encrypt.tmp" encrypt.bat 
    del "%tmp%\encrypt.tmp" 
    cls 
    echo ========================== 
    echo 完成批处理加密^_^! 
    echo ========================== 
    echo. 
    echo. 
    echo 按任意键退出...... 
    pause>nul 
    goto quit 
    :odd 
    echo. >>"%tmp%\encrypt.tmp" 
    copy "%tmp%\encrypt.tmp" encrypt.bat 
    del "%tmp%\encrypt.tmp" 
    cls 
    echo ========================== 
    echo 恭喜你, 批处理加密成功^^! 
    echo ========================== 
    echo. 
    echo. 
    echo 按任意键退出...... 
    pause>nul 
    goto quit 
    :newly 
    cls 
    echo ================================ 
    echo 找不到批处理文件, 请重新输入! 
    echo ================================ 
    echo. 
    echo. 
    echo 按任意键开始...... 
    pause>nul 
    goto start 
    :quit 
    exit
    

    将以下代码保存为bat文件,双击运行即可,根据提示,输入所要加密文件的绝对路径回车即可。
    解密完成后,会在这个加密bat文件目录生成解密后的文件:

    @echo off 
    mode con: cols=80 lines=25 
    :index 
    color 27 
    cls 
    echo ╭──────────── ──╮ 
    echo │ │ 
    echo ╭─────────┤ BAT 解 密 工 具 ├─────────╮ 
    echo │ │ │ │ 
    echo │ ╰────────── ────╯ │ 
    echo │ │ 
    echo │ │ 
    echo │ 本工具用来对混淆文本编码类型的加密批处理进行解密! │ 
    echo │ │ 
    echo │ 在下面填入需要解密的批处理按回车键即可. │ 
    echo │ │ 
    echo │ 建议直接把待解密的批处理文件拖曳至本窗口释放. │ 
    echo │ │ 
    echo │ 解密成功后会在本程序目录下生成"new_待解密文件名.文件后缀名" │ 
    echo │ 格式的文件. │ 
    echo │ │ 
    echo │ 注意: 如果本目录下存在"new_待解密文件名.文件后缀名"的文件, │ 
    echo │ 将会被替换. │ 
    echo │ │ 
    echo │ │ 
    echo ╰─── ─────────────────────────────╯ 
    echo. 
    set route=%cd% 
    set ravel= 
    set /p ravel= 请输入要解密的批处理: 
    set "ravel=%ravel:"=%" 
    if /i "%ravel:~-4%"==".bat" if exist "%ravel%" goto go 
    if /i "%ravel:~-4%"==".cmd" if exist "%ravel%" goto go 
    cls 
    echo ╭──────────╮ 
    echo ╭─────────┤ 文 件 错 误 ├────────╮ 
    echo │ ╰──────────╯ │ 
    echo │ │ 
    echo │ 指定文件不存在或文件不是批处理类型! │ 
    echo │ │ 
    echo │ 按任意键重新输入... │ 
    echo │ │ 
    echo ╰───────────────── ───────────╯ 
    echo. 
    echo. 
    echo 按任意键重新输入... 
    pause >nul 
    goto index 
    
    :go 
    for /f "tokens=*" %%c in ("%ravel%") do ( 
    cd /d "%%~dpc" 
    if exist "%route%\new_%%~nxc" attrib -s -h -r -a "%route%\new_%%~nxc" 
    echo author:pengfei@www.cn-dos.net>"%route%\new_%%~nxc" 
    for /f "tokens=*" %%i in (%%~nxc) do ( 
    echo %%i>>"%route%\new_%%~nxc" 
    ) 
    ) 
    cls 
    echo ╭──────────╮ 
    echo ╭─────────┤ 解 密 成 功 ├────────╮ 
    echo │ ╰──────────╯ │ 
    echo │ │ 
    echo │ 恭喜, 批处理解密成功! │ 
    echo │ │ 
    echo ╰──────────────────── ────────╯ 
    echo. 
    echo. 
    echo 按任意键退出... 
    pause >nul 
    exit
    
    展开全文
  • 一:cmd文件和bat文件的区别 cmd和bat文件都是批处理文件,都是靠cmd.exe解析执行,两者本质上没有区别,都是简单的文本编码方式,都可以用记事本创建、编辑和查看。两者所用的命令行代码也是共用的,只是cmd文件...

    一:cmd文件和bat文件的区别

    cmd和bat文件都是批处理文件,都是靠cmd.exe解析执行,两者本质上没有区别,都是简单的文本编码方式,都可以用记事本创建、编辑和查看。两者所用的命令行代码也是共用的,只是cmd文件中允许使用的命令要比bat文件多。cmd文件只用在windows2000以上的系统中才能运行,而bat文件则没有限制。
    		cmd文件描述:‘windows nt命令脚本“
    		bat文件描述:”ms dos批处理文件“
    

    二:一个bat脚本

    mshta vbscript:msgbox("你知道吗,你是一个美女",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("好吧,你心里肯定在吐槽,但是心中也在有点窃喜,我懂得。",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("好吧,现在进入正题",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("正在删除你的c盘,如果你想阻止这个事情,请点击确定继续,或许有转机哦",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("删除完成!!!!!",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("恭喜你,中奖了,但愿你c盘没有东西,哈哈哈!",64,"一个无聊的人想与你聊天")(window.close)
    

    在这里插入图片描述点击运行

    在这里插入图片描述其实就是个弹窗,并没有任何作用。

    #如果没有mshta这个程序的话,那么就临时产生一个vbs脚本来实现,完了再删除这个脚本就行了

    如果前面加上echo off,那么就不会显示出当前命令,只会有echo off

    echo off 
     mshta vbscript:msgbox("你知道吗,你是一个美女",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("好吧,你心里肯定在吐槽,但是心中也在有点窃喜,我懂得。",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("好吧,现在进入正题",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("正在删除你的c盘,如果你想阻止这个事情,请点击确定继续,或许有转机哦",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("删除完成!!!!!",64,"一个无聊的人想与你聊天")(window.close)
        mshta vbscript:msgbox("恭喜你,中奖了,但愿你c盘没有东西,哈哈哈!",64,"一个无聊的人想与你聊天")(window.close)
    

    在这里插入图片描述如果前面是加上@echo off 不显示后续命令行和当前命令行

     @echo off 
         mshta vbscript:msgbox("你知道吗,你是一个美女",64,"一个无聊的人想与你聊天")(window.close)
            mshta vbscript:msgbox("好吧,你心里肯定在吐槽,但是心中也在有点窃喜,我懂得。",64,"一个无聊的人想与你聊天")(window.close)
            mshta vbscript:msgbox("好吧,现在进入正题",64,"一个无聊的人想与你聊天")(window.close)
            mshta vbscript:msgbox("正在删除你的c盘,如果你想阻止这个事情,请点击确定继续,或许有转机哦",64,"一个无聊的人想与你聊天")(window.close)
            mshta vbscript:msgbox("删除完成!!!!!",64,"一个无聊的人想与你聊天")(window.close)
            mshta vbscript:msgbox("恭喜你,中奖了,但愿你c盘没有东西,哈哈哈!",64,"一个无聊的人想与你聊天")(window.close)
    

    在这里插入图片描述

    三:bat基础知识

     dir c:\*.* >a.txt 
    

    将c盘文件列表写入a.txt

    call c:\ucdos\ucdos.bat
    

    调用ucdos
        call 调用另一个批处理文件(如果不用call而直接调用别的bat文件,那么执行完另一个文件不能返回当前文件并执行当前文件的后续命令)

    echo 你好 
    

    显示"你好"

      pause  
    

    暂停,等待按键继续

     rem 你好 
    

    这只是个注释,并不会执行
            如果用了echo off ,那rem并没有任何作用。所以我把echo off 删除了之后加入这句
    在这里插入图片描述@ 在批处理中隐藏命令行本身的回显

    @rem 表示在回显状态开启时也不显示该注释行(当echo状态为关闭(echo off)时rem和@rem 作用相同,均无显示 )

     cd ucdos 
    

    进入ucdos目录

      wps  
    

    运行wps

    echo=
    

    输出空白行
    pause
    暂停bat文件的执行并在屏幕上显示 press any key to continue,按下任何键继续bat文件的执行
    在这里插入图片描述

    pause ->null 
    

    暂停bat文件的执行并不在屏幕上显示任何东西,按下任一键继续bat文件的执行
    在这里插入图片描述

    title BAT的标题
    cls 清除屏幕

    设置字体颜色和窗体大小:

    设置字体颜色:COLOR 02 (0代表背景色,2代表前景色)

    常用的颜色有以下值:0 黑色,1蓝色,2 绿色,3 浅绿色,4红色,5紫色,6黄色,7白色,8灰色,9浅蓝,A浅绿,B浅蓝色,C浅红色,D浅紫色,E浅黄色,F亮白色)。

    设置窗体大小:MODE CON: COLS=宽度 LINES=高度

    然后输入start 命令,start命令可以用来启动电脑上的软件。

    start http://www.baidu.com/s?wd=章子怡
    

    就是启动IE,跳转出来百度页面,并且自动搜索章子怡

    我们可以自己设定要搜索的文字如下:

    set /p name=章子怡:
    
    start http://www.baidu.com/s?wd=%name%
    

    让脚本延时a秒,通用延时语句
    ping -n a 127.0.0.1 >nul

    taskkill用法还不太会,后面再学
    https://baike.baidu.com/item/taskkill/7384253?fr=aladdin
    参考文献:

    https://www.jb51.net/article/49627.htm
    https://blog.csdn.net/u012723548/article/details/44275905
    https://www.bilibili.com/video/av10212162?from=search&seid=3098052647473836285
    https://www.cnblogs.com/findumars/p/9327057.html
    https://blog.csdn.net/daoming1112/article/details/77197558
    https://jingyan.baidu.com/album/495ba84106c15238b30ede31.html?picindex=4

    展开全文
  • cmd 如何在bat文件中调用另一个bat文件

    万次阅读 多人点赞 2018-12-08 10:38:01
    情景一:两个bat文件在同一个目录下 有时候我们需要在一个bat文件中调用另一个bat文件,比如我们想在a.bat中调用b.bat,如下。 a.bat @echo off echo I am a.bat… echo now run the b.bat call b.bat echo over ...

    微信搜索:“二十同学” 公众号,欢迎关注一条不一样的成长之路

    情景一:两个bat文件在同一个目录下
    有时候我们需要在一个bat文件中调用另一个bat文件,比如我们想在a.bat中调用b.bat,如下。

    a.bat

    @echo off 
    echo I am a.bat… 
    echo now run the b.bat 
    call b.bat 
    echo over

    b.bat

    @echo off 
    echo I am b.bat…

    在cmd窗口中执行a.bat,结果如下:

    I am a.bat… 
    now run the b.bat 
    I am b.bat… 
    over

            通过call命令,我们可以调用另一个bat文件,执行完会再返回到原本的bat文件中继续执行。但是这里有个问题,就是两个bat文件必须在同一个目录下,否则会找不到要call的bat文件。

    情景二:两个bat文件不在同一个目录下
    假如要call的bat文件在其他目录,我们可以在call之前,先使用cd /d 目录来进入相应的目录,接着再call就行了,如下:

    a.bat

    @echo off 
    echo I am a.bat… 
    echo now run the b.bat 
    cd /d D:\test 
    call b.bat 
    echo over

    b.bat

    @echo off 
    echo I am b.bat…

    执行后得到结果如下:

    I am a.bat… 
    now run the b.bat 
    I am b.bat… 
    over

    不过,这里需要注意的是,此时执行完命令的cmd窗口的当前目录是b.bat所在的目录了,而不是a.bat的目录。

    情景三:开启一个新的cmd窗口来运行另一个bat文件
    假如我们希望另外启动一个新的cmd窗口来运行b.bat,可以通过start cmd命令来实现,如下:

    a.bat

    @echo off 
    echo I am a.bat… 
    echo now run the b.bat 
    cd /d D:\test 
    start “” cmd /k call b.bat 
    echo over

    b.bat

    @echo off 
    echo I am b.bat…

    执行后得到结果如下:

    原本的cmd窗口中:

    I am a.bat… 
    now run the b.bat 
    over

    新的cmd窗口中:

    I am b.bat…

    这里简单解释下该命令的参数:

    start “” cmd /k call b.bat 
    “”是一段字符串,代表新打开的cmd窗口的名字,可以随便起名。 
    /k是表示新打开的cmd窗口在执行完命令后保存打开状态,如果希望执行完就关闭窗口就使用/c 
    call b.bat表示call命令,即调用b.bat文件;该命令可以用”“括起来,即:”call b.bat”

     

    展开全文
  • C#调用bat文件 bat处理 c#调用bat

    热门讨论 2010-08-03 08:41:12
    bat文件在程序里面到时把它拷贝到D盘 bat是关机程序哦
  • bat文件自动输入文字

    2013-05-14 11:55:40
    bat文件自动输入文字
  • 最新 apktool.jar、apktool.bat 文件,两个文件(apktool.jar&apktool.bat)移到您的C://Windows
  • bat文件运行闪退

    千次阅读 2020-02-12 14:50:56
    1、 今天写了一个bat文件,但是运行时出现闪退,系统不做反应,回头查了下资料,再联想到前两天修改系统语言的事,发现是在我保存文件时将编码格式弄错了,后来换成了ANSI格式就OK了—from Vae_smr 2、症状 安装 ...
  • 背景: 在windows下想启动zookeeper和kafka,无奈...我的文件在d盘放着 ,所以先执行下d(第一行),然后才能进入相关目录(第二行),然后启动zk(第三行),停留一段时间(第四行),再启动卡夫卡(第五行)。
  • 最近公司迁移服务器,从windows系统改为linux系统,里面有一些老程序是直接用bat文件启动的。 在linux中需要启动.sh文件才行,所以需要将bat文件改成sh文件才行 先粘出bat文件和sh文件,里面需要的jar包比较多我就...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 278,632
精华内容 111,452
关键字:

bat文件