DOS批处理中%cd%和%~dp0的异同分析
在DOS的批处理中,有时候需要知道当前的路径。在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0。
这两个变量的用法和代表的内容是不同的。
1. %cd% 可以用在批处理文件中,也可以用在命令行中;展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面,
输入:echo %cd% ,则显示为:c:\dir 。
%cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。
2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,它展开后的内容是不可以改变的。比如在D盘下有个批处理文件,path.bat,其内容为:
代码如下:
@echo off
echo this is %%cd%% %cd%
echo this is %%~dp0 %~dp0
在C:\ 和E:\分别下执行它,输出为:
相关推荐
-
DOS批处理中%cd%与%~dp0的区别详解
问题描述 假设我们要在批处理a.bat里调用执行批处理b.bat,b.bat需要知道b.bat的当前位置,并执行run.exe,如下: // directory structure // c: // -a.bat // -program // -b.bat // -run.exe // a.bat call "%cd%\program\b.bat" // b.bat "%cd%\run.exe" 那么现在能不能成功执行run.exe呢? 问题分析 %cd%和%~dp
-
DOS批处理中%cd%和%~dp0的异同分析
在DOS的批处理中,有时候需要知道当前的路径.在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0. 这两个变量的用法和代表的内容是不同的. 1. %cd% 可以用在批处理文件中,也可以用在命令行中:展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面, 输入:echo %cd% ,则显示为:c:\dir . %cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径. 2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文
-
DOS批处理中%~dp0等扩充变量语法详解
有时候我们看到别人使用%~dp0 ~是扩展的意思,相当于把一个相对路径转换绝对路径 %0代指批处理文件自身 %1表示批处理文件命令行接收到的第一个参数,%2表示第二个,以此类推 %~d0 是指批处理所在的盘符,其中d代表drive %~p0 是指批处理所在的目录,其中p代表path %~dp0 是批处理所在的盘符加路径 cd %~dp0 就是进入批处理所在目录了 详细解释还可参考命令 call /? DOS批处理中%~dp0表示什么意思 (注: %0 就是该 batch 文件的文件名) 这句的意
-
windows中dos批处理之命令特殊符号通配符与转义符(推荐)
目录 常用特殊符号 通配符(?和*) 转义符 对批处理中常用符号的详细解 1.@ 2.%.%% 3.: 和 :: 4.~ 5.>.>> 6.| 7.^ 8.& 9.&&.|| 10.() 11.+.-.*./ 12.equ.neq.lss.leq.gtr.geq 文章进行重新排版,并做了部分补充.所有命令均在win7 x64 中文旗舰版上进行测试. 常用特殊符号 @命令行回显屏蔽符 %批处理变量引导符 > 重定向符 > > 重定向符 <.&
-
DOS批处理高级教程 第四章 批处理中的变量
批处理中的变量,我把他分为两类,分别为"系统变量"和"自定义变量" 我们现在来详解这两个变量! 一.系统变量 他们的值由系统将其根据事先定义的条件自动赋值,也就是这些变量系统已经给他们定义了值, 不需要我们来给他赋值,我们只需要调用而以! 我把他们全部列出来! %ALLUSERSPROFILE% 本地 返回"所有用户"配置文件的位置. %APPDATA% 本地 返回默认情况下应用程序存储数据的位置. %CD% 本地 返回当前目录字符串. %CM
-
DOS批处理高级教程 第一章 批处理基础
第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令. 小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程. 了解了大概意思后,我们正式开始学习.先看一个简单的例子! @echo off echo "欢迎来到非常BAT!" pause 把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕上显示以下二行话: 复制代码 代
-
DOS批处理脚本语言简介与详细说明
一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当 前回显设置. 语法 echo [{on off}] [message] Sample:@echo off / echo hello world 在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结 合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来. 2.@ 命令 表示不显示@后面的命令,在入侵过程中(例如使用批处理
-
DOS批处理不支持将UNC 路径作为当前目录的解决方法
废话少说,直接上代码,打开网上邻居→整个网络→Microsofi Windows Network→在工作组找到本机对应的电脑,双击测试以下批处理代码: 显示当前目录.bat cd /d %~dp0 echo %cd% pushd %~dp0 echo %cd% popd pause 可以看到,在开始使用cd命令跳转到UNC目录时,会出现"CMD 不支持将 UNC 路径作为当前目录."的提示,即cd命令只能在本地目录跳转,却不能跳转到UNC目录. 那如何是好?看第二个命令:pushd,使
-
如何利用DOS批处理实现定时关机操作详解
一.批处理释义: 批处理(Batch),也称为批处理脚本.它是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,应用于DOS和Windows系统中.批处理文件的扩展名为bat. 目前比较常见的批处理包含两类:DOS批处理和PS批处理.PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本:而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本. 二.编写批处理文件: (1)新建一个文本文件,在里面写上DOS命令语句.然后选择另存为改文
-
Dos批处理常用命令大全扫盲篇
pause 暂停命令 find 搜索文件或文件内指定的字符串 prompt 设置命令提式符 ren 批量重名 用法:ren 1.txt 2.bat 效果:1.txt就被改为2.bat subst s: \\*.*.*.*\c$ (这个是远程映射) \\*.*.*.*将c盘下windows映视到s盘下 删除的话是 这个是使用例子:subst s: /d regedit /s 用法:regedit /s 1.reg 在批处理中运行所有注册表文件而不显示 assoc 修改文件关联 dir
随机推荐
- jQuery实现图片轮播效果代码
- Javascript实现代码折叠功能
- Java 转型(向上或向下转型)详解及简单实例
- Python实现二叉树结构与进行二叉树遍历的方法详解
- 浅谈JavaScript中的String对象常用方法
- JS Common 2 之比较常用到的函数第1/3页
- php不使用copy()函数复制文件的方法
- Zend Framework入门教程之Zend_Mail用法示例
- JS获取子、父、兄节点方法小结
- 如何利用jQuery post传递含特殊字符的数据
- 跟我学习javascript的Date对象
- PHP防止刷新重复提交页面的示例代码
- jQuery Validate设置onkeyup验证的实例代码
- Ruby on Rails在Ping ++ 平台实现支付
- Lua教程(六):编译执行与错误
- 教你轻松恢复/修复SQL Server的MDF文件
- 使用JQuery中的trim()方法去掉前后空格
- 金山反病毒20050104_日报
- Apache Prefork、Worker和Event三种MPM详解
- spring WebSocket示例详解