cmd获取盘符路径

转载自:https://blog.csdn.net/baidu_18607183/article/details/43986741

 

@echo off
echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前批处理全路径:%~f0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前CMD默认目录:%cd%
echo 目录中有空格也可以加入""避免找不到路径
echo 当前盘符:"%~d0"
echo 当前盘符和路径:"%~dp0"
echo 当前批处理全路径:"%~f0"
echo 当前盘符和路径的短文件名格式:"%~sdp0"
echo 当前CMD默认目录:"%cd%"

pause

 

把上边的内容保存为XX.bat双击运行即可看到结果

 

获取当前目录绝对路径:set current_path="%cd%" 比如要运行子目录的dir1\test.cmd就直接加入下面一行%current_path%\dir1\test.cmd
### 如何使用 BAT 脚本获取当前工作目录 在 Windows 的批处理脚本 (BAT) 中,可以通过特定变量和命令组合实现对当前工作目录的获取。以下是几种常见方法及其解释: #### 方法一:通过 `%CD%` 变量 `%CD%` 是一个内置环境变量,用于表示当前的工作目录。它可以直接被调用并显示当前 CMD 所处的路径。 ```batch @echo off echo 当前工作目录为:%CD% pause ``` 此方法适用于大多数情况,但在某些特殊场景下可能会返回 `C:\Windows\System32`,而非实际脚本所在位置[^1]。 --- #### 方法二:通过 `%~dp0` 获取脚本所在目录 如果目标是获取运行脚本的实际存储路径,则可以利用 `%~dp0` 参数扩展功能。该参数会解析到执行脚本所在的驱动器号 (`D:` 或其他盘符) 和完整路径字符串。 ```batch @echo off echo 当前脚本所在目录为:%~dp0 pause ``` 需要注意的是,在部分操作系统版本中,默认情况下可能不会切换至脚本所在磁盘分区。因此建议配合 `cd /d %~dp0` 命令一起使用以确保正确跳转到对应目录[^1]。 --- #### 方法三:综合测试多个属性 为了更全面了解不同类型的路径信息,还可以编写如下扩展版脚本来展示更多细节: ```batch @echo off echo 当前盘符: %~d0 echo 当前路径: %~p0 echo 当前盘符路径: %~dp0 echo 当前批处理(%0文件)全路径: %~f0 echo 当前盘符路径的短文件名格式: %~sdp0 echo 当前CMD默认目录: %CD% pause ``` 这段代码不仅能够打印常规意义上的“当前位置”,还能提供关于文件本身的额外元数据支持[^2]。 --- #### 特殊需求——获取上级目录 当需要进一步操作父级或更高层目录时,可基于已知的基础路径做适当调整。例如下面的例子演示了如何定位上一层目录的位置: ```batch set scriptDir=%~dp0 set parentDir=%scriptDir:~0,-1% if "%parentDir:~-1%"=="\" set parentDir=%parentDir:~0,-1% echo 上级目录为:%parentDir%\.. pause ``` 这里先定义了一个临时变量保存原始路径值;接着去掉最后多余的反斜杠字符以便后续拼接逻辑正常运作;最终输出结果指向指定层次结构中的祖先节点[^3]。 --- ### 总结 综上所述,对于简单的应用场景推荐优先采用 `%CD%` 来快速读取即时状态下的活动区域坐标点;而对于那些强调精确关联性的场合则更适合选用带有修饰符形式表达式的替代方案比如 `%~dp0` 加入必要的辅助指令完成整个流程链路构建过程从而达到预期效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值