Win7 cd /d %~dp0

本文介绍在Windows 7系统中如何利用批处理命令cd/d%~dp0来快速进入批处理文件所在的目录。文章解释了%0、%~d0、%~dp0等参数的含义及用法,并提供了多个实例来展示如何结合使用这些参数来获取文件的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

win7 cd /d %~dp0

%0代指批处理文件自身
%~d0 是指批处理所在的盘符
%~dp0 是盘符加路径

cd %~dp0 就是进入批处理所在目录了

选项语法:

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

%0为当前批处理文件
如果0换成1为第一个文件,2为第2个

@echo off rem @echo %cd% rem @echo %~d0 rem @echo %~dp0 rem @echo %~df0 set MD_BOOT_HOME=%~dp0 set CONFIG_ROOT=%MD_BOOT_HOME%server\config\platform set LIBS_ROOT=%MD_BOOT_HOME%server\runtime rem set JAVA_HOME_PR=%~dp0jstack echo MD_BOOT_HOME: %MD_BOOT_HOME% echo %1 echo %2 set MD_BOOT_ARCH=%PROCESSOR_ARCHITECTURE% rem @echo %MD_BOOT_ARCH% set MD_BOOT_OS_KERNEL=win rem @echo %MD_BOOT_OS_KERNEL% @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :error set ERROR_CODE=1 @REM Set JAVA_HOME=%JAVA_HOME_PR%\runtime\java\%MD_BOOT_ARCH%-%MD_BOOT_OS_KERNEL% :OkJHome echo Checking java home: %JAVA_HOME% if exist "%JAVA_HOME%\bin\java.exe" goto doJob :doJob @setlocal enabledelayedexpansion for /r "%MD_BOOT_HOME%\" %%k in (lcm-metadata-shell*.jar) do ( @set MD_BOOTSTRAP="%%k" ) for /r "%MD_BOOT_HOME%server\platform\dev\main" %%k in (*.jar) do set MAIN_JAR=%%k echo Checking MD bootstrap: %MD_BOOTSTRAP% echo "%JAVA_HOME%\bin\java" -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar %MD_BOOTSTRAP% %* "%JAVA_HOME%\bin\java" -Dloader.path="%MD_BOOT_HOME%server/platform/common;%LIBS_ROOT%/libs;%LIBS_ROOT%/3rd" ^ -Dspring.config.additional-location="%CONFIG_ROOT%/common/;%CONFIG_ROOT%/dev/" ^ -jar %MD_BOOTSTRAP% %* pause有没有不合理的地方,帮我改一下
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值