Windows的批处理命令笔记(1)

批处理参数扩展变量 %0 到 %9,%0 将由当前批处理文件名替换,而 %1 到 %9 将由在命令行键入的相应参数替换
%0: 当前批处理文件名
%1: 第一个输入参数
%2: 第二个输入参数
...
%9: 第九个输入参数


查看当前目录路径:

echo %cd%

切换工作路径(在脚本里需要加/D,否则不会生效):‘

cd /D C:\Users

cd /d %~dp0详解,假设当前文件是D:\Java\Libs\zookeeper-3.4.10\bin\a.bat
~dp是变量扩充
~是删除任何引号("),扩充 %0,如:

文件a.bat
----------------------
echo on
echo %~0
----------------------
输出是:
-------------------------------------------------------------------------------
D:\Java\Libs\zookeeper-3.4.10\bin>echo on

D:\Java\Libs\zookeeper-3.4.10\bin>echo "D:\Java\Libs\zookeeper-3.4.10\bin\a.bat"
"D:\Java\Libs\zookeeper-3.4.10\bin\a.bat"

D:\Java\Libs\zookeeper-3.4.10\bin>
-------------------------------------------------------------------------------
文件a.bat
----------------------
echo on
echo %0
----------------------
输出是:
-------------------------------------------------------------------------------
输出是:
D:\Java\Libs\zookeeper-3.4.10\bin>echo on

D:\Java\Libs\zookeeper-3.4.10\bin>echo D:\Java\Libs\zookeeper-3.4.10\bin\a.bat
D:\Java\Libs\zookeeper-3.4.10\bin\a.bat

D:\Java\Libs\zookeeper-3.4.10\bin>
-------------------------------------------------------------------------------


d是driver, 指扩充到分区号 D: 

a.bat
-------------------
echo on
echo %~d0
-------------------
的输出是:
--------------------------------------------------------------
D:\Java\Libs\zookeeper-3.4.10\bin>echo on

D:\Java\Libs\zookeeper-3.4.10\bin>echo D:
D:
PS D:\Java\Libs\zookeeper-3.4.10\bin>
--------------------------------------------------------------


p是path, 指扩充到路径 \Java\Libs\zookeeper-3.4.10\bin\ 
dp就是扩充到分区号路径 D:\Java\Libs\zookeeper-3.4.10\bin\

a.bat
-------------------
echo on
echo %~p0
-------------------
的输出是:
--------------------------------------------------------------
D:\Java\Libs\zookeeper-3.4.10\bin>echo on

D:\Java\Libs\zookeeper-3.4.10\bin>echo \Java\Libs\zookeeper-3.4.10\bin\
\Java\Libs\zookeeper-3.4.10\bin\
PS D:\Java\Libs\zookeeper-3.4.10\bin>
--------------------------------------------------------------

其他选项参数如下:

    ~0          - 删除任何引号("),扩充 %0
    %~f0        - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件)??什么叫完全合格?
    %~d0        - 仅将 %0 扩充到一个驱动器号(d, disk)
    %~p0        - 仅将 %0 扩充到一个路径
    %~n0        - 仅将 %0 扩充到一个文件名(“n”是name 文件名)
    %~x0        - 仅将 %0 扩充到一个文件扩展名(“x”,extension 扩展名)
    %~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 - 查找列在路径环境变量的目录,并将 %0 扩充 到找到的第一个驱动器号和路径。
    %~ftza0     - 将 %0 扩充到类似输出线路的 DIR

refs: http://blog.chinaunix.net/uid-116213-id-81670.html

        https://www.cnblogs.com/cnpirate/p/5282324.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值