当前位置: 首页 > article >正文

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

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

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

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

目录

设置参数

准备目录

拉取库并处理内容

函数git_clone

函数Fail

bat命令速查

set 设置变量

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-3

cd ..
echo 成功
pause
exit

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

        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,只保留了纯代码。

函数Fail

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

bat命令速查

set 设置变量

rd 删除目录

ren 重命名目录或文件

md 创建目录

cd 切换目录

del 删除文件

xcopy 复制目录和文件

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


http://www.kler.cn/a/445647.html

相关文章:

  • RestTemplate远程调用、服务注册、
  • 【使用MCP协议连接本地和远程数据——以Claude的Windows客户端为例】
  • 将4G太阳能无线监控的视频接入电子监控大屏,要考虑哪些方面?
  • 202412月最新植物大战僵尸杂交版【V3.0.1】更新内容与下载
  • mybatis分页插件的使用
  • pdf文件中的表格无损提取方案(pdf转Excel),非OCR
  • [CSP-S 2024] 超速检测 题解
  • 思科CCNA认证都学什么考什么?
  • TCP三次握手,四次挥手
  • 八大设计模式
  • Vue.js实例开发-创建页面用户可以在输入框中输入文本,点击按钮后,页面上会显示一个欢迎消息
  • Certimate:简化 SSL 证书管理的开源工具
  • [python SQLAlchemy数据库操作入门]-12.直接执行 SQL 语句处理股票数据
  • 图书馆管理系统(四)基于jquery、ajax--完结篇
  • x-cmd mod x webtop - 在 Docker 轻松运行多款 Linux 桌面,支持中文,浏览器访问!
  • 中企出海-德国会计准则和IFRS间的差异
  • 京准电钟:电厂自控NTP时间同步服务器技术方案
  • YOLOv8全解析:高效、精准的目标检测新时代——创新架构与性能提升
  • MySQL怎么导出数据库数据
  • Redis 到 Redis 数据迁移同步
  • 指令v-on 调用传参
  • leetcode:3285. 找到稳定山的下标(python3解法)
  • pdf文件中的表格无损提取方案(pdf转Excel),非OCR
  • Spring Boot中Bean的 构造器注入、字段注入和方法注入
  • 【网络云计算】2024第51周-每日【2024/12/17】小测-理论-解析
  • 蓝桥杯刷题——day8