cmdfor循环的多面探析

一、cmdfor循环嵌套

cmdfor循环是在cmd命令行中经常使用的命令,它可以用来循环执行一些重复性的操作,比如批量处理文件、打印文本等。而cmdfor循环的嵌套则更加灵活和强大,可以实现不同层次、不同方式的循环。下面我们以两个例子来展示cmdfor循环的嵌套:

1. cmdfor循环嵌套打印九九乘法表

@echo off
for /l %%i in (1,1,9) do (
    for /l %%j in (1,1,%%i) do (
        set /a result=%%i*%%j
        echo.|set /p="%%j*%%i=%%result%%  "
    )
    echo.
)

上述代码中,外层循环从1到9,内层循环从1到外层循环变量的值,这样就可以打印出九九乘法表。set /a是用来执行数学表达式的命令,%表示变量扩展,因此%%表示变量名称。echo.|set /p实现了不换行打印信息的功能,从而呈现行列整齐的九九乘法表。

2. cmdfor循环嵌套重命名文件

@echo off
setlocal enabledelayedexpansion
set n=1
for /r %%i in (*.jpg) do (
    set filename=%%i
    ren "!filename!" "!n!.jpg"
    set /a n=n+1
)

上述代码中,使用for /r可以遍历指定目录及其子目录下所有的图片文件(.jpg扩展名),对每个文件执行重命名操作。其中,filename变量用于存储每个文件名,!filename!表示变量扩展,因此需要启用延迟变量扩展。!n!表示延迟扩展的变量n,初值为1,每遍历到一个文件就增加1,实现了文件名的递增命名。

二、cmdfor循环建文件夹a1到a10

除了嵌套,cmdfor循环还可以用来批量创建、删除等文件或文件夹操作。下面我们以一个示例演示如何使用cmdfor循环批量创建文件夹:

cmdfor循环建文件夹a1到a10

@echo off
for /l %%i in (1,1,10) do (
    md a%%i
    echo 创建a%%i文件夹成功!
)

上述代码中,使用for /l生成1到10之间的整数,作为文件夹名的后缀。md是创建文件夹的命令,%%i表示循环变量。在每次创建成功后,使用echo命令输出提示信息。

三、cmdfor循环和条件判断

除了常规的循环,cmdfor循环还可以通过加入if语句等条件判断语句,实现更多复杂的功能。下面我们以一个示例演示如何使用cmdfor循环和条件判断语句实现文件名筛选:

cmdfor循环和条件判断

@echo off
setlocal enabledelayedexpansion
set key=abc
for %%i in (*.txt) do (
    set filename=%%~ni
    if "!filename:%key%=!" neq "!filename!" (
        echo %%i
    )
)

上述代码中,使用for遍历当前文件夹下所有的文本文件,将文件名存储到filename变量中。然后使用if语句判断文件名是否包含指定的关键字(这里为abc),如果包含则使用echo命令输出该文件名。

四、cmdgoto循环

cmdgoto循环是一种常用的无限循环方式,它可以通过条件判断语句实现跳出循环的功能。下面我们以一个示例演示如何使用cmdfor循环和cmdgoto循环组合实现选取指定文件的功能:

cmdgoto循环选取指定文件

@echo off
setlocal enabledelayedexpansion
set key=abc
set flag=0
:loop
set /a flag=flag+1
if !flag! gtr 5 goto end
set /p filename=请输入文件名:
if "!filename:%key%=!" neq "!filename!" (
    echo 选定文件为:!filename!
    goto end
) else (
    echo 未找到指定文件,请重新输入!
    goto loop
)
:end

上述代码中,flag变量用于标记循环次数,初值为0。使用set /p命令让用户输入文件名,并将输入的文件名存在filename变量中。然后使用if语句判断文件名是否包含指定的关键字,如果包含则使用echo命令输出选定的文件名,然后跳出循环;否则提示用户重新输入文件名,并通过goto loop语句返回到指定的标签,重新执行输入操作。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/254099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-14 17:40
下一篇 2024-12-14 17:40

相关推荐

  • Python定义两个列表的多面探索

    Python是一种强大的编程语言,开放源代码,易于学习和使用。通过Python语言,我们可以定义各种数据类型,如列表(list)。在Python中,列表(list)在处理数据方面起…

    编程 2025-04-29
  • 探析.polldelay

    本文将会从多个方面探讨.polldelay的用途和实现方法,旨在帮助读者更好地理解和应用.polldelay。 一、polldelay 简介 Polldelay (polling …

    编程 2025-04-28
  • 象棋算法思路探析

    本文将从多方面探讨象棋算法,包括搜索算法、启发式算法、博弈树算法、神经网络算法等。 一、搜索算法 搜索算法是一种常见的求解问题的方法。在象棋中,搜索算法可以用来寻找最佳棋步。经典的…

    编程 2025-04-28
  • Python中中括号里数字的多面

    本文将从多个方面对Python中中括号里数字做详细的阐述,包括索引、切片、循环等,以及一些常见问题的解决方法。 一、索引操作 索引操作指的是通过中括号里的数字来访问列表(list)…

    编程 2025-04-28
  • Python命令行执行的多面探秘

    一、基础操作 Python是一种通用编程语言,可以在命令行中运行。做到这一点的最简单方法是打开命令行窗口,键入Python,然后按Enter。这将带您到Python提示符里。 $p…

    编程 2025-04-24
  • 探析Webpack构建流程

    一、初识Webpack Webpack是一个模块打包器,它可以把多个零散的模块打包成一个文件,通过模块打包的方式,实现JS、CSS、图像等资源的依赖管理和按需加载。Webpack可…

    编程 2025-04-23
  • 从多个方面探析IoT架构

    一、IoT架构基础 IoT(物联网)架构的核心在于通过物联网平台将各种物联网设备、系统、数据等连接在一起,进行统一管理、控制、协议转换、数据转换和数据分析等工作,实现信息的物理化、…

    编程 2025-04-23
  • 科普 | np.tanh的多面向探究

    一、简介 np.tanh是numpy库中的一个函数,常被用来处理神经网络中的激活函数,或者数学中的一些复杂计算。tanh即双曲正切函数。 二、单变量情形 首先,我们看下单变量tan…

    编程 2025-04-18
  • 深入探析vector添加元素

    一、初始化vector 1、动态初始化vector 使用vector时,我们需要先将其初始化,vector可以有多种初始化方式。其中动态初始化是指我们需要在程序运行时才能确定vec…

    编程 2025-04-12
  • CSS工具的多面分析

    一、CSS预处理器 CSS预处理器是建立在CSS基础之上的语言,通过模块化、变量、函数、继承等特性简化CSS编写流程,例如: .btn { background: #3ed8a6;…

    编程 2025-04-12

发表回复

登录后才能评论