bat cd 到当前文件文件夹
@echo off
cd /d %~dp0
echo 当前工作目录已切换到: %CD%
pause
命令组成部分解析 1. cd 命令
cd 是 Windows 命令提示符(CMD)和批处理脚本中用于更改当前工作目录(即切换文件夹)的命令。其基本语法为 cd [目标目录路径],作用是将当前的工作目录切换到指定的目标目录。
- /d 参数
/d 是 cd 命令的一个可选参数。在 Windows 系统中,磁盘驱动器和目录是有区别的。通常情况下,cd 命令只能在同一个磁盘驱动器内切换目录,如果要切换到不同磁盘驱动器的目录,需要先使用 盘符: 命令切换到目标驱动器,再使用 cd 命令切换目录。而 /d 参数的作用就是允许 cd 命令同时切换磁盘驱动器和目录,不管目标目录位于哪个磁盘驱动器上。
- %~dp0 变量
%0:在批处理脚本中,%0 代表当前正在执行的批处理脚本文件的完整路径和文件名。例如,如果批处理脚本文件名为 test.bat,并且它位于 C:\Scripts 目录下,那么 %0 的值就是 C:\Scripts\test.bat。
%~d:%~d 用于提取参数的驱动器号部分。所以 %~d0 就是提取 %0 中的驱动器号,对于上面的例子,%~d0 的值就是 C:。
%~p:%~p 用于提取参数的路径部分(不包含驱动器号和文件名)。所以 %~p0 就是提取 %0 中的路径部分,对于上面的例子,%~p0 的值就是 \Scripts\。
%~dp0:将 %~d 和 %~p 组合起来,%~dp0 就表示当前正在执行的批处理脚本文件所在的完整目录路径,对于上面的例子,%~dp0 的值就是 C:\Scripts\。
命令整体作用
cd /d %~dp0 这条命令的作用是将当前的工作目录切换到当前正在执行的批处理脚本文件所在的目录,无论该脚本位于哪个磁盘驱动器上。这样可以确保后续在批处理脚本中使用相对路径时,都是相对于脚本文件本身所在的目录,避免因执行脚本的当前工作目录不同而导致的路径问题。