zoukankan      html  css  js  c++  java
  • 批处理·命令行中常用的操作

    偶尔会有做点自动化的需求,
    以往每次写批处理文件都是现查。
    今天把用到的批处理常用操作做个记录。


    1.批处理文件的调用与传参

    a.bat
    
    ./b.bat Hello Wrold
    
    REM 或
    REM call b.bat Hello Wrold
    
    b.bat
    
    set param1=%1
    set param2=%2
    echo %param1%
    echo %param2%
    

    以上将分别打出HelloWorld


    注意:
      以上 set 命令中,等号前后都没有空格


    2.字符串拼接与截取

    b.bat
    
    set greeting=%param1%-%param2%
    echo %greeting%
    

    以上将输出: Hello-World


    3.字符串截取

    截取命令格式为

    SomeText:~FromIndex:Count
    

    截取示例:

    set name=CoderMonkey
    echo %name:~0,4%
    

    以上将输出:Code

    注:可以反向截取(FromIndex < 0)


    4.字符串替换

    替换命令格式为

    SomeText:source=target
    

    替换示例:

    set name=CoderMonkey
    echo %name:Monkey=Gorilla%
    

    以上将输出:CoderGorilla


    注意:
      字符串中有空格时,需要加引号
      没有空格的话,不必加引号


    5.常用的变量

    %cd%        current directory,当前目录
    %date%     日期
    %time%     时刻,包含毫秒
    

    6.创建与删除文件夹

    mkdir "foldername"
    

    创建一个文件夹

    rmdir "folder_path"
    

    删除指定文件夹

    rmdir /s /q "folder_path"
    

    /s 表示删除指定目录及其下的子目录和文件
    /q 表示静默处理,不询问


    7.删除文件或重命名

    del some_pathfilename.txt
    

    带 option 参数的删除:(同删除文件夹)

    del /s /q d:	emp	est.txt
    

    重命名文件:
    格式:rename 路径文件名.扩展名 新文件名.扩展名

    rename d:	emp	est.txt log.txt
    

    注:
      在命令行中,创建与删除文件或文件夹操作,
      不必切换盘符,而切换当前目录需要先切换盘符


    8.输出文件,比如log日志

    echo "【要输出的文字信息,比如当前日期时刻】%date% %time%" > log.txt
    

    日期会显示为:2019/12/17 的格式,
    时刻会输出为:13:58:28.24

    如果想把日期时间用作 log 文件名,
    由于/:都是不可用于文件名的字符,
    这里我们就用到了上面提到的替换功能。

    示例:

    REM 将`/`跟`:`替换为空
    set logfilename=%date:/=%_%time::=_%.txt
    echo "%date% %time%Log信息" > "%logfilename%"
    

    这里的 log 文件会在当前执行的路径下生成。
    需要在指定路径下生成的话,在 log 文件名用完整路径即可


    9.切换目录

    进入指定路径,不切换盘符的时候

    cd folderA
    cd c:userfolderB
    

    即,可以直接进入当前目录下的某个目录,
    或,指定完整路径,进入指定的文件夹

    其中,如果不在同一个盘符下,
    需要,先切换盘符,如 d:

    d:
    cd work	asks
    

    如上,也可以一次指定两层目录

    返回上层目录:cd.. ,cd 后面加两个小点


    10.查看当前目录下内容

    dir
    

    以上命令输出当前目录下文件夹和文件(仅本层目录)


    11.启动其它程序或命令

    示例,启动 chrome 浏览器,并打开指定网页

    start chrome.exe www.baidu.com
    

    12.注释的写法

    12.1 注释的三种方式

    REM 注释内容,不会被执行
    @REM 同样是注释,不执行
    :: 这也是注释内容,不会执行
    

    一种是REM @REM 后面跟注释内容,
    另一种是 :: ,两个冒号后面跟注释内容,

    注意命令后面的空格

    12.2 关于 echo

    echo hi!
    

    将会输出 hi!

    即,echo 后面的内容会被显示出来。

    往往在批处理文件(*.bat)开头处,
    设置是否回显,

    echo on
    

    echo off
    

    区别是,是否将执行的语句本身显示在命令行。
    on 的时候显示,off 的时候不显示,仅打印执行结果。
    另外我们在输出 log 文件时也是用到了 echo。

    12.3 echo 与注释

    echo on 的时候:(只有 REM 会回显)

    • REM 的注释回显
    • @REM 的注释不会回显
    • :: 的注释不会回显

    echo off 的时候:(都不回显,没有区别)

    • REM 的注释不回显
    • @REM 的注释不回显
    • :: 的注释不回显

  • 相关阅读:
    leetcode 443: String Compression,357: Count Numbers with Unique Digits
    C++ 中 freopen()函数的用法
    filter
    map
    os.listdir
    os.path.join
    assert
    numpy中的axis和Pytorch中的dim参数
    mac中qq接收视频存放的位置
    requests
  • 原文地址:https://www.cnblogs.com/CoderMonkie/p/Commonly-used-cmds.html
Copyright © 2011-2022 走看看