DOS命令备忘录

在DOS的批处理中,有时候需要知道当前的路径。
在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。

一个是%cd%, 只与当前目录有关
一个是%~dp0。 只与脚本有关 

    这两个变量的用法和代表的内容是不同的。
 
    1. %cd% 可以用在批处理文件中,也可以用在命令行中;
展开后,是驱动器盘符:+当前目录,如在 dos窗口中进入c:\dir目录下面,  www.2cto.com  
输入:echo %cd% ,则显示为:c:\dir 。
 
   %cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。
    2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,
是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,
它展开后的内容是不可以改变的。比如在D盘下有个批处理文件,path.bat,其内容为:
 
[plain]
@echo off     
echo this is %%cd%%  %cd%     
echo this is %%~dp0 %~dp0   
 
在C:\ 和E:\分别下执行它,输出为:

 



Pushd和Popd命令,这两个命令一般都是同时使用,意思就是Push和Pop 

Pushd 命令 
改变当前目录到指定目录,并保存当前的目录在堆栈顶端 

Popd 命令 
改变当前目录,跳转到堆栈顶端保存的目录,并将堆栈顶端的目录删除 


使用 Pushd 命令后,就会将当前目录储存到一个虚拟堆栈中,如果第一次使用 Pushd 命令,该命令所在的目录就会被置于栈底,如再次使用该命令,则第二个目录就会被置于第一个目录之上。 

使用 Popd 命令,将当前目录更改为最近由 Pushd 命令存储的目录,并位于堆栈顶端的目录将从堆栈中删除。 


@Echo Off 
Echo 当前目录:%cd% 
pushd C:\Intel\Logs 
Echo 当前目录:%cd% 
pushd C:\Download 
Echo 当前目录:%cd% 
pushd C:\WINDOWS 


Echo 当前目录:%cd% 
popd 
Echo 当前目录:%cd% 
popd 
Echo 当前目录:%cd% 
popd 
Echo 当前目录:%cd% 
Pause
这个是后面任意个参数的意思 就比较你要执行一个abc.jar文件 然后这个代码里也用到参数,那就需要用这个%*
类似于:D:\SoftWare\AutoHotkey\AutoHotkey.exe "%1" %* 这种

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值