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

【bat】自动生成指定层级文件夹

在这里插入图片描述

🌅 一日之计在于晨,启航新程
⭐ 本期特辑:自动生成指定层级文件夹
🏆 系列专题:BAT脚本工坊


文章目录

  • 前言
  • 批处理脚本介绍
  • 脚本执行过程
  • 总结


前言

在日常的计算机使用过程中,我们经常需要创建文件夹来组织和管理文件。有时候,我们需要创建一系列具有层次结构的文件夹,例如一个顶级文件夹下包含多个子文件夹。手动创建这些文件夹可能会比较繁琐,特别是当文件夹数量较多时。为了简化这一过程,我们可以使用批处理脚本来自动创建这些文件夹。
本文将介绍如何使用批处理脚本(Batch Script)在Windows操作系统中自动创建具有层次结构的文件夹,并通过一个具体的例子来演示这一过程。


批处理脚本介绍

批处理脚本是一种在Windows操作系统中用于自动化任务的脚本语言。通过编写批处理脚本,我们可以执行一系列命令,如创建文件夹、复制文件、运行程序等。批处理脚本通常以.bat.cmd为扩展名。

脚本执行过程

在需要生成文件夹的目录下新建一个txt文件。

在这里插入图片描述

打开txt文件,编辑代码如下,然后保存。

@echo off  
setlocal  REM 指定要创建的顶级文件夹名称  
set "TOP_FOLDER=top_folder"  REM 指定要在顶级文件夹下创建的子文件夹名称  
set "SUB_FOLDER1=folder1"  
set "SUB_FOLDER2=folder2"  REM 创建顶级文件夹  
if not exist "%TOP_FOLDER%" (  mkdir "%TOP_FOLDER%"  echo 顶级文件夹 %TOP_FOLDER% 已创建。  
) else (  echo 顶级文件夹 %TOP_FOLDER% 已存在。  
)  REM 在顶级文件夹下创建子文件夹  
if not exist "%TOP_FOLDER%\%SUB_FOLDER1%" (  mkdir "%TOP_FOLDER%\%SUB_FOLDER1%"  echo 子文件夹 %SUB_FOLDER1% 已创建在 %TOP_FOLDER% 下。  
) else (  echo 子文件夹 %SUB_FOLDER1% 已存在于 %TOP_FOLDER% 下。  
)  if not exist "%TOP_FOLDER%\%SUB_FOLDER2%" (  mkdir "%TOP_FOLDER%\%SUB_FOLDER2%"  echo 子文件夹 %SUB_FOLDER2% 已创建在 %TOP_FOLDER% 下。  
) else (  echo 子文件夹 %SUB_FOLDER2% 已存在于 %TOP_FOLDER% 下。  
)  endlocal  
@echo on

代码执行逻辑如下:

  1. 关闭命令回显@echo off用于关闭命令的回显,使脚本执行时只显示我们想要输出的信息,而不是每条命令的执行情况。
  2. 设置本地化环境setlocal用于开始本地化环境的更改,这样可以确保脚本执行完后,对环境变量的更改不会影响到系统的全局环境。
  3. 定义变量:使用set命令定义顶级文件夹和子文件夹的名称。
  4. 创建顶级文件夹:使用if not exist判断顶级文件夹是否存在,如果不存在则使用mkdir命令创建,并输出创建成功的消息;如果已存在,则输出已存在的消息。
  5. 创建子文件夹:同样使用if not exist判断子文件夹是否存在,并在不存在时创建它们,同时输出相应的消息。
  6. == 结束本地化环境==:endlocal用于结束本地化环境的更改,恢复系统的全局环境。
  7. 打开命令回显@echo on用于在脚本执行完后打开命令的回显。

代码编写完成后,将txt文件保存为 .bat文件。如果文件后缀没有显示,则点击查看,显示,勾选文件扩展名,就可以修改文件后缀啦~

在这里插入图片描述
在这里插入图片描述

双击bat文件,在该文件夹下就会自动生成目标文件夹啦!

在这里插入图片描述
在这里插入图片描述


总结


http://www.mrgr.cn/news/71984.html

相关文章:

  • C++编程:利用环形缓冲区优化 TCP 发送流程,避免 Short Write 问题
  • 力扣每日一题 3261. 统计满足 K 约束的子字符串数量 II
  • Mysql数据库里的SSH连接
  • spring中entity的作用
  • 推理还原的干货
  • 【计算机网络】TCP网络程序
  • pytorch奇怪错误
  • 数字信号处理Python示例(12)生成Chirp(线性调频)信号
  • 实验27:lcd12864液晶显示实验
  • CAN总线位同步的使用以及总线仲裁规则详解
  • 基于YOLOv5的人群密度检测系统设计与实现
  • 跟着尚硅谷学vue2—进阶版2.0—使用 Vue 脚手架2.0
  • 常用数字器件的描述-时序逻辑器件的描述
  • 类似keepalived的软件还有哪些
  • Docker部署Redis哨兵
  • 在 Service Worker 中caches.put() 和 caches.add()/caches.addAll() 方法他们之间的区别
  • 【知识科普】ARM架构和x86架构
  • CustomersettleController
  • 大循环引起CPU负载过高
  • Android命令行启动SoftAP功能
  • golang项目三层依赖架构,自底向上;依赖注入trpc\grpc
  • 51c视觉~合集6
  • 【含文档】基于ssm+jsp的在线网课管理系统(含源码+数据库+lw)
  • 音视频入门基础:MPEG2-TS专题(3)——TS Header简介
  • 解剖C++模板(2) —— 模板匹配规则及特化
  • 面向对象试题答案