项目实操:windows批处理拉取git库和处理目录、文件

ops/2025/2/7 13:43:36/

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。

源码指引:github源码指引_初级代码游戏的博客-CSDN博客


        这个脚本从多个git库拉取源码、切换分支并适当组织目录结构。包含了常用的bat命令。

        unix/linux程序员的几个注意点:

  • 目录分隔符是反斜杠,不是斜杠,错了就不行
  • 不区分大小写,文件名、目录名、命令参数都是如此
  • windows与unix/linux相同的命令名并不多

目录

设置参数

准备目录

拉取库并处理内容

git_clone-toc" style="margin-left:0px">函数git_clone

函数Fail

bat%E5%91%BD%E4%BB%A4%E9%80%9F%E6%9F%A5-toc" style="margin-left:0px">bat命令速查

set 设置变量

%变量% 引用变量

@echo off

%cd% 工作路径

rd 删除目录

ren 重命名目录或文件

md 创建目录

cd 切换目录

del 删除文件

xcopy 复制目录和文件

>和>> 输出转向(写文件)


设置参数

set username=abc
echo 账号:%username%

        这里设置了username,后面要用。bat的变量默认都是全局的,可以在后续的函数里面访问。

准备目录

rd /s /q bak
ren source bak
md source
if errorlevel 1 goto Fail 无法创建目标目录
cd source

        输出目录为source,备份目录为bak。首先删除bak,然后将source重命名为bak,再创建source。

        Fail是个函数,报错并结束。

拉取库并处理内容

call:git_clone git-1 release
call:git_clone git-2 release
call:git_clone git-3 dev
md dir-b
xcopy git-3\dir-a\* dir-b\ /e
rd /s /q git-3cd ..
echo 成功
pause
exit

        拉取了3个库,然后把第三个库的一部分内容复制到另外一个目录,最后删掉了第三个库。

        git_clone是个函数,具体操作在函数里。

git_clone">函数git_clone

::克隆库 参数1:库名 参数2:分支名
:git_clone
git clone https://%username%@库位置/%1
cd %1
git checkout %2
if errorlevel 1 goto Fail %1
rd /s /q .git
del .gitignore
cd ..
goto:eof

        注意函数开始是“:git_clone”,结尾是“goto:eof”,相当于函数就是标号吧。

        “git clone”就是标准的git命令, 示例是https的格式。

        克隆之后进入库目录,切换分支,然后删掉了.git目录和.gitignore,只保留了纯代码。

        如果觉得克隆整个库浪费,可以只克隆最新代码,通过增加“--depth 1”参数即可,直接在克隆时限制分支用“-b %2”即可(不再需要“git chechout %2”)。

函数Fail

:Fail
echo 处理出错 %1
pause
exit
goto:eof

bat%E5%91%BD%E4%BB%A4%E9%80%9F%E6%9F%A5">bat命令速查

set 设置变量

%变量% 引用变量

@echo off

        关闭命令回显

%cd% 工作路径

rd 删除目录

        /s 递归,否则只能删除空目录

        /q 无需确认

ren 重命名目录或文件

md 创建目录

cd 切换目录

del 删除文件

xcopy 复制目录和文件

        默认不复制目录,复制目录需要/e参数

>和>> 输出转向(写文件)

        通常后面跟一个文件名来实现写文件,>会先清空文件,>>追加


(这里是文档结束)


http://www.ppmy.cn/ops/156446.html

相关文章

Web3.0 技术应用溯源系统建设

Web3.0 技术与溯源(Track and Trace)的结合,是区块链等去中心化技术在实际应用中的典型场景之一。通过 Web3.0 的底层技术,可以构建透明、不可篡改且可验证的溯源系统,解决传统供应链、商品流通等领域的数据信任问题。…

算法日记13:SC41树状数组(区间修改)

一、题目: 二、题解: 在单点修改中,我们用t[i]来维护原数组2.1:在区间修改中,我们将维护原数组的差分数组 接下来,让我们来回顾一些差分的性质 此时,假设我们需要求 a 1 a 2 a 3 a 4 a1a2a3a4 a1a2a3a…

7.4状压DP

在C中,状态压缩动态规划(State Compression DP,简称状压DP) 是一种通过 二进制位运算 高效表示离散状态集合的动态规划方法,特别适用于解决 组合优化 和 排列选择 类问题。其核心思想是将多维状态压缩为整数&#xff0…

项目练习:SpringSecurity+OAuth2接入gitee的第三方登陆(授权码模式)

文章目录 一、知识准备1、OAuth2的角色2、使用场景3、四种授权模式 二、案例实现1、gitee上注册应用2、直接通过手动发送http请求方式3、项目代码方式4、测试方法 一、知识准备 1、OAuth2的角色 1、资源所有者(Resource 0wner):即用户,资源的拥有人,想要…

Spring Boot Actuator与JMX集成实战

在微服务架构中,监控和管理应用的运行状态是至关重要的。Spring Boot Actuator 提供了一种便捷的方式来监控和管理 Spring Boot 应用,而 JMX(Java Management Extensions)则是一种用于管理 Java 应用的标准技术。本文将通过一个实…

大语言模型极速部署:Ollama 、 One-API、OpenWebUi 完美搭建教程

大语言模型极速部署:Ollama 、 One-API、OpenWebUi 完美搭建教程 本文将介绍如何通过命令行工具部署 Ollama 和 One-API 以及 OpenWebUi,帮助你快速搭建私有化大模型。 Ollama 是一个容器化工具,简化了大语言模型的管理与运行,支持…

TongSearch3.0.4.0安装和使用指引(by lqw)

文章目录 安装准备手册说明支持的数据类型安装控制台安装单节点(如需集群请跳过这一节)解压和启动开启X-Pack Security和生成p12证书(之后配置内置密码和ssl要用到)配置内置用户密码配置ssl(先配置内置用户密码再配ssl)配置控制台…

linux环境自动化golang项目启动脚本解析

一.场景介绍 当在本地创建了golang项目,修改了代码功能,怎么在远程测试服务器上更新该功能呢,可以使用下面的步骤来解决该问题(这只是其中一种方法): (1).推送最新代码到远程仓库 (2).在测试服务器上创建该项目并拉取最新代码 (3).创建deploy.sh脚本 (4).运行deploy.sh脚本 二.…