zoukankan      html  css  js  c++  java
  • 【转】在cmd/bat脚本中获取当前脚本文件所在目录

    一、关于cd的/d参数

    关于cd 的/d参数,在cmd中敲入cd /?
    可以看到/d参数的解释如下:

    使用 /D 命令行开关,除了改变驱动器的当前目录之外,还可改变当前驱动器。这句话不太好理解,我做个试验:

    1.1 window7系统中打开cmd窗口时,会显示

    2.2 执行“cd e:xxx”命令,发现目录依然还是在C:Windowssystem32

    2.3 此时输入d:,不但会切换到d盘,而且会会发现E盘上的当前目录为d:/xxx

    2.4 如果使用/d参数,可以直接切换到d:xxx目录

    结论:不加/d参数只能在同一驱动器的目录之间切换,加上/d参数则能在不同驱动器之间的目录之间切换。

    二、关于%~dp0的批处理命令的详细解释

    对此命令并不清楚,以下内容都来自百度搜索结果:
    %~dp0 “d”为Drive的缩写,即为驱动器,磁盘、“p”为Path缩写,即为路径,目录
    cd是转到这个目录,不过我觉得cd /d %~dp0 还好些
    选项语法:
    ~0 - 删除任何引号("),扩充 %0
    %~f0 - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件)
    %~d0 - 仅将 %0 扩充到一个驱动器号
    %~p0 - 仅将 %0 扩充到一个路径
    %~n0 - 仅将 %0 扩充到一个文件名(“n”是name 文件名)
    %~x0 - 仅将 %0 扩充到一个文件扩展名
    %~s0 - 扩充的路径只含有短名(“s”为Short,短的)
    %~a0 - 将 %0 扩充到文件的文件属性(“a”为attribute,即属性)
    %~t0 - 将 %0 扩充到文件的日期/时间(“t”time)
    %~z0 - 将 %0 扩充到文件的大小(Size 大小)

    %~$PATH:0 - 查找列在路径环境变量的目录,并将 %0 扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串,可以组合修饰符来得到多重结果:

    %~dp0 - 仅将 %0 扩充到一个驱动器号和路径
    %~nx0 - 仅将 %0 扩充到一个文件名和扩展名
    %~fs0 - 仅将 %0 扩充到一个带有短名的完整路径名
    %~dp$PATH:0 - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个驱动器号和路径。
    %~ftza0 - 将 %0 扩充到类似输出线路的 DIR
    %0为当前批处理文件,如果0换成1为第一个文件,2为第2个
    *********************************************************************************************
    %0             代指批处理文件自身
    %~d0        是指批处理所在的盘符
    %~dp0      是盘符加路径
    cd %~dp0 就是进入批处理所在目录了


    原文链接:https://blog.csdn.net/xieyunc/article/details/80471107

  • 相关阅读:
    Apache Ant 1.9.1 版发布
    Apache Subversion 1.8.0rc2 发布
    GNU Gatekeeper 3.3 发布,网关守护管理
    Jekyll 1.0 发布,Ruby 的静态网站生成器
    R语言 3.0.1 源码已经提交到 Github
    SymmetricDS 3.4.0 发布,数据同步和复制
    beego 0.6.0 版本发布,Go 应用框架
    Doxygen 1.8.4 发布,文档生成工具
    SunshineCRM 20130518发布,附带更新说明
    Semplice Linux 4 发布,轻量级发行版
  • 原文地址:https://www.cnblogs.com/hester/p/11337919.html
Copyright © 2011-2022 走看看