DOS批处理隐藏变量

该博客介绍了一个DOS批处理脚本,用于在命令行环境下自动检测并更新当前目录下符合特定名称模式的Git项目。脚本首先获取当前目录信息,然后遍历目录,对匹配的Git项目执行`git pull`操作,实现了批量更新的功能。

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

BAT文件代码可执行:

echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前批处理全路径:%~f0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前CMD默认目录:%cd%
echo 当前bat文件文件名:%~n0

 其中“%cd%”可以直接在cmd窗口使用,非必须在bat文件中使用,其他几个是在bat文件中使用的

 

插一段git更新本目录下所有项目的脚本

@echo off

 

rem echo 当前盘符:%~d0
rem echo 当前盘符和路径:%~dp0
rem echo 当前批处理全路径:%~f0
rem echo 当前盘符和路径的短文件名格式:%~sdp0
rem echo 当前CMD默认目录:%cd%
rem echo 当前bat文件文件名:%~n0

 

rem 获取文件名
set spbase=%~n0

 

rem 替换文件名中的“[any]”为空
set "spbase=%spbase:[any]=*%"
rem 替换文件名中的“pull_”为空
set "spbase=%spbase:pull_=%"

 

set sp=%spbase%
echo=
echo=
echo 当前目录:
echo    %cd%
echo=
echo 准备开始拉取当前目录下“%sp%”目录的git项目(git pull),如需取消可直接关闭窗口
echo=
pause
cls

 

set a=0
for /d %%s in (%sp%*) do (
    set/a a=a+1
    echo=
    echo #########################################################################
    echo ################################  BEGIN  ################################
    echo     开始拉取: %%s
    echo #########################################################################
    cd %%s
    rem 测试回退:git reset --hard origin/master
    git pull
    echo -------------------------------------------------------------------------
    echo --------------------------------   END   --------------------------------
    echo -------------------------------------------------------------------------
    echo=
    cd ../
    rem 测试回退:pause
)

echo=
if 0==%a% (
    echo 未找到匹配“%sp%”的项目文件夹,未拉取任何项目
) else (
    echo 拉取任务执行完毕!!!本次拉取项目个数: %a%
)
echo=
pause

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值