首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

嵌套批处理For Do循环以使用文件夹名和文件名

是一种批处理脚本中的循环结构,用于遍历指定文件夹中的文件和子文件夹。这种循环结构可以让开发工程师在处理文件和文件夹时更加高效和灵活。

在批处理脚本中,嵌套批处理For Do循环的语法如下:

代码语言:txt
复制
for /r 文件夹路径 %%变量 IN (文件或文件夹模式) DO (
    命令
)

其中,文件夹路径是待遍历的文件夹路径,可以是绝对路径或相对路径;变量是循环迭代时使用的变量,以两个百分号(%%)表示;文件或文件夹模式是要匹配的文件或文件夹的模式,支持使用通配符进行匹配;命令是在每次循环迭代时执行的操作。

使用嵌套批处理For Do循环,可以实现以下功能:

  1. 遍历文件夹中的文件和子文件夹:通过指定文件夹路径,并使用通配符模式匹配文件或文件夹,可以对文件夹中的所有文件和子文件夹进行遍历操作。
  2. 执行特定操作:在每次循环迭代时,可以执行一系列的命令或操作,例如复制、移动、删除、重命名文件,或者对文件进行处理、解析等。
  3. 获取文件夹名和文件名:通过在命令中使用%%变量,可以获取当前循环迭代的文件夹名和文件名,从而在操作中使用它们。
  4. 处理不同类型的文件:根据文件名或文件夹名的模式,可以对指定类型的文件进行特定处理,例如筛选出满足某些条件的文件进行操作。

举例来说,假设有一个名为"files"的文件夹,其中包含多个子文件夹和文件。我们可以使用嵌套批处理For Do循环来遍历该文件夹,并打印出每个文件夹和文件的路径:

代码语言:txt
复制
@echo off
for /r files %%F in (*) do (
    echo %%F
)

在上述示例中,"/r files"表示遍历"files"文件夹及其子文件夹;"(*)"表示匹配所有文件;"echo %%F"表示打印出当前循环迭代的文件路径。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):腾讯云的文件存储服务,提供安全、稳定、可扩展的存储能力,适用于海量文件的存储和访问。了解更多:腾讯云对象存储
  • 腾讯云云服务器(CVM):腾讯云的虚拟服务器,提供高性能、可靠的计算能力,适用于部署和运行各种应用程序。了解更多:腾讯云云服务器
  • 腾讯云云数据库 MySQL 版(CMYSQL):腾讯云的托管型 MySQL 数据库服务,提供高性能、高可用、可扩展的数据库服务,适用于各类应用场景。了解更多:腾讯云云数据库 MySQL 版
  • 腾讯云人脸识别(Face Recognition):腾讯云的人脸识别服务,基于人工智能技术,提供人脸检测、人脸比对、人脸搜索等功能,适用于人脸识别应用场景。了解更多:腾讯云人脸识别
  • 腾讯云物联网通信(IoT Hub):腾讯云的物联网通信平台,提供设备连接、数据传输、消息通信等功能,适用于物联网应用开发和管理。了解更多:腾讯云物联网通信
  • 腾讯云移动推送(TPNS):腾讯云的移动推送服务,提供消息推送、推送统计、用户分群等功能,适用于移动应用消息推送。了解更多:腾讯云移动推送

以上是腾讯云在云计算领域的一些相关产品和服务,可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#如何遍历某个文件夹中的所有子文件文件夹循环递归遍历多层),得到所有的文件名,存储在数组列表中

首先是有一个已知的路径,现在要遍历该路径下的所有文件及文件夹,因此定义了一个列表,用于存放遍历到的文件名。...递归遍历如下:将已知路径列表数组作为参数传递, public void Director(string dir,List list) { DirectoryInfo d...dir); FileInfo[] files = d.GetFiles();//文件 DirectoryInfo[] directs = d.GetDirectories();//文件夹...foreach (FileInfo f in files) { list.Add(f.Name);//添加文件名到列表中 }..., list); } } 这样就得到了一个列表,其中存储了所有的文件名,如果要对某一个文件进行操作,可以循环查找: foreach (string fileName in nameList

14.1K40

bat批处理命令教程_windows批处理命令脚本

括号在for语句if语句中常见,用来嵌套使用循环或条件语句,其实括号()也可以单独使用,请看例子。...如果迭代变量超过 End#,则命令解释程序退出此循环。还可以使用负的 Step# 递减数值的方式逐步执行此范围内的值。...,包括else子句,组合命令中可以嵌套使用条件或循环命令。...%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。...例如一个批处理文件中有一行: for %%c in (*.bat *.txt) do type %%c 则该命令行会显示当前目录下所有battxt为扩展的文件的内容。 批处理示例 1.

7K100
  • 批处理for详解_python批处理

    请用下面的代码 @echo off for %%i in (*.txt) do echo "%%i" pause 想列出只用两个字符作为文件名的文本文件吗?...echo %%i;   2、当你读取的是命令语句执行结果中的内容的话,第一个括号中的命令语句必须使用单引号包裹,应该使用的是第2条语句;例如:你想显示当前目录下文件名中含有test字符串的文本文件的时候...当然,事情并不是绝对如此,如果细心的你想到了批处理中难缠的特殊字符,你肯定会头大如斗。 或许你头脑中灵光一闪,已经想到了一个十分头痛的问题:在第1条语句中,如果文件名中含有空格或&,该怎么办?...批处理会把 test 1.txt 这个文件名识别为字符串啊! 你百无聊赖地在CMD窗口中输入 for /? ,并重重地敲下了回车,漫无目的地在帮助信息中寻找,希望能找到点什么。...言 外之意:usebackq除了在处理带空格的文件名时会用到外,根本就没有其它的出场机会存在价值。)

    3.5K20

    批处理-For详解

    请用下面的代码 @echo off for %%i in (*.txt) do echo "%%i" pause 想列出只用两个字符作为文件名的文本文件吗?...echo %%i; 2、当你读取的是命令语句执行结果中的内容的话,第一个括号中的命令语句必须使用单引号包裹,应该使用的是第2条语句;例如:你想显示当前目录下文件名中含有test字符串的文本文件的时候,应该使用...当然,事情并不是绝对如此,如果细心的你想到了批处理中难缠的特殊字符,你肯定会头大如斗。 或许你头脑中灵光一闪,已经想到了一个十分头痛的问题:在第1条语句中,如果文件名中含有空格或&,该怎么办?...批处理会把 test 1.txt 这个文件名识别为字符串啊! 你百无聊赖地在CMD窗口中输入 for /? ,并重重地敲下了回车,漫无目的地在帮助信息中寻找,希望能找到点什么。...言 外之意:usebackq除了在处理带空格的文件名时会用到外,根本就没有其它的出场机会存在价值。)

    36620

    批处理之常用命令详解

    当然如果file后面去掉斜杠『\』,系统要求做出判断是建立文件还是文件夹 例3.3: Xcopy a.txt \file 显示: 目标\file是文件名 还是目录 ?...如”goto tag””:tag”是配套使用的。...七: 批量修改文件名称以及批量创建文件 接下来的学习都是以例子来分析,从浅至深,一开始运用的也都是之前学习过的简单语句,将这些简单的命令运用到一些常见的批处理中: 1,批量添加文件名后缀: 例...2,当前文件%0与当前文件所在路径%~dp0: 例2.1 @echo off echo 当前盘符:%~d0 echo 当前盘符路径:%~dp0 echo 当前盘符路径的短文件名格式:%~sdp0 echo...当前批处理全路径:%~f0 echo 当前批处理文件:%0 echo 当前CMD默认目录:%cd% pause 显示: 当前盘符:E: 当前盘符路径:E:\file2\ 当前盘符路径的短文件名格式

    1.4K20

    windows bat批处理基础命令学习教程「建议收藏」

    2.批处理是一种简单的程序,可以用 if goto 来控制流程,也可以使用 for 循环。 3.批处理的编程能力远不如C语言等编程语言,也十分不规范。...2) 传递参数给批处理文件 %[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的空格(或者Tab)分隔的字符串。...如下命令行会显示当前目录下所有bat或者txt为扩展文件名。 for %%c in (*.bat *.txt) do (echo %%c) a....如下命令行会显示 E盘test目录 下所有bat或者txt为扩展文件名。...创建目录 replace 源文件 要替换文件的目录 替换文件 ren 原文件名 新文件名 重命名文件名 tree 树形结构显示出目录,用参数-f 将列出第个文件夹文件名称 type 文件名 显示文本文件的内容

    17.7K34

    批处理的for循环_批处理for循环跳出循环

    附注:由于一些目录或文件名可能会有空格,所以很多时候集里命令里往往需要用英文引号括起来(但有时引号里的内容可能会被认为是字符串)表示是一整体,下面开始的有些例中为简捷起见,忽略文件名或目录带空格这种情况...例1: 在命令行输入(不是在批处理,之后不再解释) for /d %a in (c:\*.*) do echo %a 运行会把C盘根目录下的全部目录分次显示出来,而不显示文件名 看起来有点乱,如果把命令提示回显关闭就清晰了...1 2 3 4 @ echo off ::在D盘建立aa1~ aa5五个文件夹 for /L %%i in (1,1,5) do md d:\aa %%i pause 注:在行首,单个冒号:接一称...在“%变量”前缺省参数选项时的情况,循环中每轮会默认空格为分隔,在打开的文件中逐行给字符串分段,又因为没给增添附加变量(即仅一个变量%c)则仅把第一段的字符赋给%c,再执行 do后的命令,然后进行循环的下一轮...如果环境变量 未被定义,或者没有找到文件,此组合键会扩充到空字符串 可以组合修饰符来得到多重结果: %~dpI – 仅将 %I 扩充到一个驱动器号路径 %~nxI – 仅将 %I 扩充到一个文件名扩展

    3.8K10

    bat批处理命令大全_文件批处理命令

    dir 显示目录中的文件子目录列表。 tree 图形显示驱动器或路径的文件夹结构。 path 为可执行文件显示或设置一个搜索路径。 xcopy 复制文件目录树。...如果环境 变量未被定义,或者没有找到文件,此组合键会 扩充到空字符串 可以组合修定符来取得多重结果: %~dp1 - 只将 %1 扩展到驱动器号路径 %~nx1 - 只将 %1 扩展到文件名扩展...“延缓环境变量扩充”默认为停用 批处理结束系统会自动恢复默认值 可以修改注册表禁用"命令扩展",详见 cmd /?...8是结尾,1表示每次加1 for /f %%i in ('set') do echo %%i 对 set 命令的输出结果循环调用,每行一个 for /f "eol=P" %%i in ('set') do...echo %%i 取 set 命令的输出结果,忽略 P 开头的那几行 for /f %%i in (d:mp3.txt) do echo %%i 显示 d:mp3.txt 里的每个文件名,每行一个,

    4.1K30

    bat 批处理命令学习入门

    介绍批处理命令 批处理(Batch),也称为批处理脚本,在DOSWindows(任意)系统中,由一系列命令构成,其中可以包含对其他程序的调用。这类文件的每一行都是一条DOS命令。...(liunx也可以运行自己的批处理命令,但是不要使用windows特有命令哦,文件没有权限,自己设置) 可以把批处理文件 理解成 .bat、.cmd、.sh 结尾的程序,里面包含流程控制。...实验:双开微信 电脑双开微信,压根不需要别的杂七杂八的垃圾软件,直接批处理脚本就干了 创建一个txt 文件用记事本打开,放进去,修改文件名后缀为.bat 代码如下 start D:/"program files...脚本命令学习 首先 脚本叫做 batch,具有两种后缀的文件名.bat .sh可运行在dos、windowers系统中 类似Uninx中的Shell脚本 控制执行过程有 if 、for、 goto 进行操作...一般情况下 每条命令占用一行  也可以使用特定符号 表示结束 (“:”、“&”、“&&”、“|”、“||”) 或者遇到循环结束、exit 、出错意外退出 正式开始 @ 命令 不显示执行的命令 只显示执行的结果

    1.3K10

    自媒体良器:音频文件批处理,FFmpeg一行搞定!果断收藏

    touch ffmpeg-batch.sh 接下来,使用您喜欢的文本编辑器打开它,并将其设置为bash脚本。 #!/bin/bash 此脚本将对文件路径、扩展 FFMpeg 选项使用一系列变量。...扩展是必需的,而不是简单地从文件中提取它们,因为一个文件夹可能包含多种类型的文件。 如果文件夹中只有一种类型的文件,那么可以直接修改脚本,使其这种方式工作。...$srcExt; dodone 3 - 去掉文件名 要使脚本真正具有通用性,你需要去掉每个文件的路径扩展获得纯粹的文件名。...$srcExt; do 然后,将路径从文件名中剥离。 baseName=${basePath##*/} 你可以试着把结果打印出来,看看变量内容是什么。...为 FFMpeg 提供完整的文件名,并将路径作为其输入。 然后,使用目标目录、提取的文件名目标文件扩展构建输出。

    1.1K10

    写个批处理来帮忙干活---遍历&字符串处理前言批处理脚本

    这次打算写几篇关于脚本方面的博客,主要是记录一下 Gradle 脚本批处理脚本的一些写法,方便后续查阅。...所以,这篇就稍微来记录下批处理脚本 Gradle 脚本的一些写法,很基础简单,因为我的需求就是执行 java 命令来对某个文件夹下的 apk 文件分别进行签名,而后输出新的命名方式的 apk 文件。...遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量 in (匹配符) do (执行的命令) 切记:每个指令之间必须空格隔开,in 与 ( 之间有空格,do 与 ( 间也有空格...批处理的 for 循环遍历每一个子项时,%%变量 每个子项,即 &&变量 已经是指向具体的每个子项了 (匹配符):在 in 指令之后 () 括号里的内容可表示为通配符,用于按照指定的规则过滤文件夹下的文件...在上述这种用法下,%%i 指向了当前目录下每个文件名,完整的文件名

    2.3K50

    简单的批处理命令_bat批处理执行cmd命令

    Syntax:call [路径文件名] [标签]] Parametes:[Drive:}[Path] FileName 指定要调用的批处理程序的位置名称。...三、命令释义 1、文件夹管理 cd 显示当前目录或改变当前目录。 md 创建目录。 rd 删除一个目录。 dir 显示目录中的文件子目录列表。 tree 图形显示驱动器或路径的文件夹结构。...pause>nul 这里注意几个地方: 1-存在判断既可以判断文件也可以判断文件夹; 2-%0 即代表该批处理的全称(包括驱动器盘符、路径、文件名扩展类型); 3-%~df0 是对 %0 的修正,只保留了其驱动器盘符路径...本例中也可以改为 4,不过文件名中有空格的文件,只能显示空格以前部分 同时我们也看到了,for 语句的 do 后面的 command也是可以分行的,只需要保证 command 的左括号 do 在同一行就可以了...如果环境变量未被定义,或者没有找到文件,此组合键会扩充到空字符串 可以组合修饰符来得到多重结果: %~dpI – 仅将 %I 扩充到一个驱动器号路径 %~nxI – 仅将 %I 扩充到一个文件名扩展

    1.9K20

    磁盘操作系统(DOS)

    号表示1个字符 主文件名.扩展 best.jpg ,best是主文件名,jpg是扩展,扩展决定了文件的类型 示例: *.* 所有文件 请搜索 主文件名中包含字母o的jpg图片 *o*.jpg o.jpg...请找出d:下所有的文本文件(txt),且文件名字符a打头。...批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。  ...4.3、循环 @echo off for /l %%i in (1,1,5) do @echo %%i pause @echo off for /l %%a in (1,2,10) do ( echo...%%a pause ) for 循环 /l 循环类型 1表示起始值 2表示步长,每次增加多少 10结束值 %%a 变量 pause 暂停 do 表示开始执行 @echo off 让执行的命令不显示在屏幕上

    2.8K80

    bat命令编写大全

    %~dp1 – 只将 %1 扩展到驱动器号路径 %~nx1 – 只将 %1 扩展到文件名扩展 %~dp$PATH:1 – 在列在 PATH...延缓环境变量扩充”默认为停用 批处理结束系统会自动恢复默认值 可以修改注册表禁用””命令扩展””,详见 cmd /?...所以用到””命令扩展””的程 序,建议在开头结尾加上 SETLOCAL ENABLEEXTENSIONS ENDLOCAL 语句,确 保程序能在其它系统上正确运行 “”延缓环境变量扩充”...%%i in (.) do echo %%~pni 显示当前目录所有子目录,包括路径,不包括盘符 for /r d:”mp3 %%i in (*.mp3) do echo %%i>>d:”mp3....txt 里的每个文件名,每行一个,不支持带空格的名称 for /f “”delims=”” %%i in (d:”mp3.txt) do echo %%i 显示 d:”mp3.txt 里的每个文件名

    1.5K10

    对图片批量重命名_重命名批处理最大量

    目录 目的说明与展示: 要点提示 .bat 代码 2021.3.10补充 %%~ti 利用文件上次修改时间 ---- 补充后续关联问题: 批处理实例:截取原文件名进行重命名_GeorgeRhua的博客...-CSDN博客 批处理实例:利用上一级文件夹对指定类型的文件重命名,并复制到一个目录下 ---- 前言:弄完批处理才发现,其实真要批量给文件按一定顺序重命名,直接按 时间/名称/大小 排好,全选中然后右键...命名完的文件名:“自定义(排序)”,这样排序方式还多样。 哎~,那下文也只是批处理简单代码应用,没有多大实用价值。.../a 定义序号(随循环而变) for循环内用到序号值 需要使用延迟变量 setlocal EnableDelayedExpansion ---- .bat 代码 注:其中REM注释部分,大多是关于截取原文件名的...png" REM 重命名 注意延迟变量后缀 ) pause ---- 2021.3.10补充 %%~ti 利用文件上次修改时间 说明:for 遍历文件的顺序默认是按文件名称(?)

    1.4K10

    bat 批处理 脚本 for循环 批量压缩gltf模型 gltf批量压缩 gltf压缩转成glb

    bat 批处理 脚本 for循环 批量压缩gltf模型 gltf批量压缩 gltf压缩转成glb 这里参考两篇文章: 1....关于批处理的知识 https://www.jb51.net/article/134025.htm 一、模型准备 如下图所示,现在有二十多个gltf模型,放在一个文件夹下,要对这些模型进行压缩: ?...三、批量处理 gltf-pipeline官方并没有介绍批量处理的方法,下面我们通过批处理来实现: 打开cmd,进入gltf模型存放的路径,如下图,输入命令,回车,就会自动循环执行,批量压缩。...(-d表示使用draco算法进行压缩) for %i in ('dir *.gltf /s /b') do gltf-pipeline -i %i -o %i -d ? 看一下压缩后的模型大小: ?...,%i表示文件名带后缀,此时后缀变成glb了,%~ni表示文件名(不带后缀),所以用%~ni加上后缀.glb既可。

    2K10

    bat命令大全_bat暂停命令

    9.输出信息到控制台 10.循环 11.调用某个bat文件并执行 12.打开某个文件夹、文件、使用特定的软件打开某个文件 一、bat(批处理文件类型) 注意事项 1.文件保存格式为ANSI(后果:导致中文乱码或执行命令不生效...) 2.管理员身份运行文件(后果:否则无法执行或执行无反应) 3.ANSI格式保存后执行出现乱码,需要重新再次ANSI格式保存后然后再次执行 二、命令简介 1.基础语法 基础语法(onoff...循环(将逗号换为空格、逗号或等号,输出的结果上面都是一样的。...start D:\test.bat start 文件所在的目录及文件名称 12.打开某个文件夹、文件、使用特定的软件打开某个文件 打开指定的文件 start "" "D:\test.txt" start..."" "文件目录及文件名称" 打开指定的文件夹 start "" "D:\folder" start "" "文件夹目录" 使用特定的软件打开某个文件(这里演示的是用Notepad++打开文本文件)

    4.6K10
    领券