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

有没有办法在批处理文件中指出最后n个参数?

在批处理文件中指出最后n个参数,可以使用批处理文件中的变量和循环语句来实现。

具体来说,可以使用变量来存储参数,然后使用循环语句来遍历参数列表,并将最后n个参数存储到一个新的变量中。

例如,假设批处理文件中的参数列表存储在变量%1、%2、%3、%4、%5、%6、%7、%8、%9、%10中,并且需要指出最后3个参数。可以使用以下代码:

代码语言:txt
复制
@echo off
setlocal enabledelayedexpansion

set count=0
for %%a in (%*) do (
    set /a count+=1
    set "arg!count!=%%~a"
)

set /a last_n=count-3
set "last_args="
for /l %%i in (%last_n%,-1,1) do (
    set "last_args=!last_args! !arg%%i!"
)

echo Last %n% arguments: %last_args%

在这个代码中,首先使用setlocal enabledelayedexpansion命令启用延迟扩展,以便在循环中使用变量。

然后,使用for %%a in (%*) do循环遍历所有参数,并使用set /a count+=1set "arg!count!=%%~a"将每个参数存储到变量arg1arg2arg3等中。

接下来,使用set /a last_n=count-3计算出最后n个参数的起始位置,然后使用for /l %%i in (%last_n%,-1,1) do循环遍历最后n个参数,并使用set "last_args=!last_args! !arg%%i!"将它们存储到变量last_args中。

最后,使用echo Last %n% arguments: %last_args%输出最后n个参数。

需要注意的是,这个代码只是一个示例,具体实现可能会因为具体情况而有所不同。

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

相关·内容

自动化登录并执行命令返回的脚本设计

比如常见的要针对一堆线上物理机批量执行命令,查看进程健康状态,有没有设置crontab监控自动拉起脚本,日志有没有异常等等。 最笨的办法就是挨个ip登录执行这些操作。...所以我们一般有以下的办法。 一、使用polysh: Polysh(以前称为Group Shell或gsh)是一远程Shell多路复用器。它可以shell程序中一次控制多个远程shell程序。...这样sshpass可以传递ssh一密码,然后让ssh登录 2.1 批处理文件 假设我们现在有文件[ip list file]上有一对ip列表,一行一ip。那么可以使用while循环处理。...n选项,ssh因为它默认读取stdin。...-n让/ dev / null重定向到stdin(实际上,防止从标准输入读取)。这里必须加-n,要不while只会循环一次就退出了。

1.7K20
  • 编写批处理文件(扩展名为.bat)

    良好的习惯是硬盘上建立一bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录,这样只要在path设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序...批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一参数表示符“%”。...参数列表: /C   choices     指定要创建的选项列表。默认列表是 "YN"。 /N            提示符隐藏选项列表。提示前面的消息得到显示, 选项依旧处于启用状态。...批程序中使用 ERRORLEVEL参数时,将参数降 序排列。 示例: CHOICE /? CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"...说明: (1) IF EXIST 是用来测试文件是否存在的,格式为 IF EXIST [路径+文件名]命令 (2) test2.bat文件的%1是参数,DOS允许传递9参数信息给批处理文件,分别为

    2.7K30

    CC 中一次性执行多个DOS命令的实现思路

    用winrar制作的exe,其本质还是解压后执行,解压后的文件其实可以系统临时目录下找到,因此以后想要加密其实很容易就会被破解; 所以最好的办法看来就是自己写一exe了,考虑到我以前用过C,因此下载了...,这样就没法代码中一条条执行脚本的命令,必须要找到一办法可以一次性执行多条命令。...(这里我改了一下,没有用我实际的脚本,因为那个不通用,不适合做例子),注意,每一行最后要加上回车符\n,这样才能正确模拟DOS窗口中输入命令的情况: CHAR cmds[] = "@ECHO OFF\n...\n" "dir\n" cmd.exe /k 执行完命令行不关闭 cmd.exe /c 执行完命令行马上关闭 再然后,原来的示例代码是把批处理文件作为EXE的参数传递进来的,既然上面改为将批处理文件内容放到脚本里...,代码从文件读取命令的那部分就要去掉了,这部分代码就不多说了。

    20430

    bat 剪切文件_bat延时命令

    良好的习惯是硬盘上建立一bat或者batch目录(例如C:\BATCH),然后将所有你 编写的批处理文件放到该目录,这样只要在path设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序...批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一参数表示符“%”。...参数列表: /C choices 指定要创建的选项列表。默认列表是 “YN”。 /N 提示符隐藏选项列表。...批程序中使用 ERRORLEVEL 参数时,将参数降 序排列。 示例: CHOICE /? CHOICE /C YNC /M “确认请按 Y,否请按 N,或者取消请按 C。”...说明: (1) IF EXIST 是用来测试文件是否存在的,格式为 IF EXIST [路径+文件名] 命令 (2) test2.bat文件的%1是参数,DOS允许传递9参数信息给批处理文件,分别为

    3K10

    C语言中如何连续执行多条CMD命令

    比如说我DOS分别下执行md 1 cd 1 md 2 这3条命令后会创建一“1”文件夹,同时“1”里面创建一“2”文件夹。...但是如果我C执行system("md 1");system("cd 1");system("md 2");后,它会在它会在当前目录下同时生成一“1”文件夹和一“2”文件夹。...请问有什么好的解决办法。 还有一问题:C如何判断哪个盘为U盘。 二楼的第一问题是对的。但我不是需要在1里面创建一2. 我是想知道C如何连续执行多条DOS命令。...ng++ -v\ncd \\mycpp\n" ; } fout.close(); // 执行批处理文件 char szCommandLine[] = "cmd /k CBStudy.cmd...CreateProcess ( NULL, // 不在此指定可执行文件的文件名 szCommandLine, // 命令行参数

    59330

    Exceptionless - .Net Core开源日志框架

    创建免费账号 https://be.exceptionless.io/signup创建一免费账号,只需要提供用户名、密码以及邮箱即可,非常简单。 ? 2. 登录并创建项目 ? 3....运行Exceptionless Web项目 我这里为了能看到批处理文件的输出信息,bat文件中最后添加了一行 @pause,就是让它执行完之后不自动关闭窗口 ?...当然这里也要注意下,更换端口有3地方需要改的,要是没改好,即使网站运行起来了也没办法进行注册等操作 首先是 Start-Website.ps1文件中最后两行 Start-Website $wwwroot...那如果非得要在Powershell来执行,有没有办法呢?...这是我Windows系统下部署Exceptionless过程遇到的问题,但因为官网上的介绍是直接双击运行 Start.bat就完成部署的,不知道其他朋友有没有遇到跟我一样的问题。

    1.7K41

    黑客级别的批量处理文件

    命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。...通过 nth 符号指定 m 符号字符串最后字符星号, 那么额外的变量将在最后符号解析之 分配并接受行的保留文本。...sample3: 你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?...二.如何在批处理文件中使用参数 批处理可以使用参数,一般从1%到 9%这九,当有多个参数时需要用shift来移动,这种情况并不多见,我们就不考虑它了。...将第一条命令的结果作为第二条命令的参数来使用,记得unix这种方式很常见。

    2.6K50

    黑客级别的批量处理文件

    命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。...通过 nth 符号指定 m 符号字符串最后字符星号, 那么额外的变量将在最后符号解析之 分配并接受行的保留文本。...sample3: 你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?...二.如何在批处理文件中使用参数 批处理可以使用参数,一般从1%到 9%这九,当有多个参数时需要用shift来移动,这种情况并不多见,我们就不考虑它了。...将第一条命令的结果作为第二条命令的参数来使用,记得unix这种方式很常见。

    2.1K30

    没有外部工具,如何快速发现Windows中毒了

    1、WMIC 启动项(WMIC Startup Items) Windows已经有一非常强大的工具——WMIC,以下几种方式较容易为你的调查建立启动项。...找到程序,然后malwr.com或者VirusTotal上查找它的散列,看看它有没有感染了其他什么,然后删除。...5、WMIC 工作列表(WMIC Job List) 这是看起来最不可能发现任何东西的项目,因为绝大多数恶意软件都不用jobs,但是例如MPlug的一些版本,是很容易检测出的。...Netstat控制如下: -a 显示所有连接和监听端口 -b 显示参与创建每个连接或者监听端口的可执行文件 -n 以数字形式显示地址和端口号码 -o 显示拥有的每个与链接相关的进程ID 7、批处理文件版本...把东西都丢到一批处理文件,然后设置一主机名参数,你甚至能够全网中使用它——获得其他计算机的适当权限,方便进行远程评估。

    1.2K50

    整理了十Python自动化操作,拿走就用!

    写了几十篇文章后,我将一些办公自动化常用操作的代码单独整理出来,大家拿走就可以用在自己的脚本!...01 OS模块相关 一、遍历文件夹 批量操作的前提就是对文件夹进行遍历,使用os模块可以轻松的遍历文件夹,os.walk 遍历后产生三参数: “ 当前文件夹路径 包含文件夹名称[列表形式] 包含文件名称...os.path.basename 可以直接从绝对路径获取最后的文件名,当然如果用传统的字符串切割方式也可以,即 path.split('\\')[-1] import os path = 'xxx...这样做的好处是可以把数据放在桌面上,不同的电脑上都能调用代码对数据进行处理。如果是一条电脑上把桌面路径固定在字符串,则换一台电脑就必须修改桌面路径。...先命名文件再用 shutil.move 将其移动的指定文件夹,而是可以用 shutil.move 一步到位 03 glob模块相关 十、批处理文件 - 3 最后要介绍的是glob模块,也是办公自动化必须要掌握的一模块

    1.2K30

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

    编写批处理文件非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理文件可以极大程度地节省时间,应对重复性工作时尤其有效 Windows善用批处理可以简化很多重复工作 批处理?...%0 批处理文件本身 %1 第一参数 %9 第九参数 %* 从第一参数开始的所有参数参数(%n)的替代已被增强。...3字符,即aa2 echo %p:~0,3% #显示前3字符,即aa1 echo %p:~-2% #显示最后面的2字符,即b2 echo %p:~0,-2% #显示除了最后2字符以外的其它字符,...来看 for %%i in (c: d: e: f:) do echo %%i 依次调用小括号里的每个字符串,执行 do 后面的命令 注意%%i,批处理 for 语句调用参数用2% 默认的字符串分隔符是...否则会有询问 常见问题: 1.如果你自己编写的.bat文件,双击打开,出现闪退 原因:执行速度很快,执行完之后,自行关闭 解决办法最后面一行加上 pause 例如: @echo off set

    4.1K30

    Windows 批处理(bat)语法大全

    4.每个编写好的批处理文件都相当于一DOS的外部命令,把它所在的目录放到DOS搜索路径(path),即可在任意位置运行。...2) 传递参数批处理文件 %[1-9]表示参数参数是指在运行批处理文件文件名后加的以空格(或者Tab)分隔的字符串。...如果符号字符串最后字符星号,那么额外的变量将在最后符号解析之后分配并接受行的保留文本。.... %0 %1 %2 //用于表示批处理文件参数0为命令,共1-9参数。 Shift //用于向前一参数,原1变0,原2变1.每调用一次shift向前一移动一位。...Call //调用其他批处理文件或命令。 Start 命令 参数 //指示出在另一窗口中开始运行命令。

    6.5K20

    bat语法

    10.for 命令 for 命令是一比较复杂的命令,主要用于参数指定的范围内循环执行命令。...批处理文件中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。...tokens=x,y,m-n – 指每行的哪一符号被传递到每个迭代 的 for 本身。这会导致额外变量名称的 格式为一范围。...通过 nth 符号指定 m 符号字符串最后字符星号, 那么额外的变量将在最后符号解析之 分配并接受行的保留文本。...sample3: 你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?

    1.8K20

    批处理for命令的用法_cmd批处理命令

    代表可替换的参数。使用 %variable 通过命令提示符执行 for 命令。使用 %%variable 批处理文件执行 for 命令。...命令提示符显示帮助。 注释 使用 for 可以批处理文件或直接从命令提示符使用 for 命令。...复杂的批处理文件可以使用 variable 的多个值来区分不同的可替换变量。 显示一组文件 set 参数可以代表单个或多个文件组。可以使用通配符(即,* 和 ?)指定文件组。...tokens=x,y,m-n 指定将哪些令牌从每行传递到每个迭代的 for 正文。结果就分配了附加变量名称。m-n 格式是一范围,指定从 mth 到 nth 的令牌。...如果 tokens=字符串中最后字符是星号 (*),则将分配附加的变量,并在解析的最后令牌后在行上接收剩余的文本。

    2.3K30

    Wins批处理基本语法

    当你编辑好批处理文件并将其保存成后缀名为“.bat”的文件之后,双击该文件或者DOS窗口键入文件名,都可以执行该文件的DOS命令。 2、常用命令 echo:表示显示此命令后的字符。...call:调用另一批处理文件,如: REM 调用同一目录下的另一批处理文件test2.bat call test2.bat 注:如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令...PAUSE 注:/C /M 都是choice命令的参数,你可以控制台输入“choice /?”来查看帮助 控制台打印: 确认请按 Y,否请按 N,或者取消请按 C。 [Y,N,C]?...如: for %c in (*.txt) do type %c 其中“%c”表示一单一字母可替换的参数;括号可以指定一或一组文件,可以使用通配符。...DOS允许传递9参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身)  判断输入的字符,输出不同的内容 @echo off IF "%1" == "A" ECHO XIAO IF

    1.4K100

    Linux让alias设置永久生效的方法详解

    前言 经常使用Linux控制台终端的站长们应该对于那些繁琐的指令和参数命令行印象深刻吧!这也是很多站长宁愿使用有安全风险的面板也不愿意使用控制台终端命令行的主要原因!...好在,明月早年间的DOS下学习编程的经历,对于这种命令行式的风格还是偏爱有加,但对于那些几乎经常要用到的命令行每次都要重复性的多次输入也还是烦不胜烦,记得DOS下有.bat这样的行式批处理文件可以将那些繁琐的命令行整合管理提高效率...这个 alias 命令就可以将一段冗长的命令行简化成几个字母或者数字的缩写,这样就不用每次都输入那么多的字母和符号了,并且缩写完全都是自己设定的,非常的个性化,如果自己整理一简单的标准出来,可以非常好的提升控制台终端的工作效率...上述的别名设置虽然用起来很爽,但是都是“临时”的,也就是说只要你关闭了当前的SSH链接后,再次SSH登录到控制台终端的时候,这些别名设置就失效了,那么有没有让其永久生效的办法呢?...最后分享一张命令行别名设置供大家参考一下: ? source命令也称为“点命令”,也就是一点符号(.),是bash的内部命令。

    9.1K50

    win7下搭建nginx+php的开发环境

    本来win7下用的是IIS做web服务器,但近来因项目需求的原因,需要在服务器遇到404错误的时候自动做转向(不是客户端的跳转,而是服务器收到客户端请求去某目录下读取文件返回时,如果发现目录或目录下文件不存在...这时如果你html目录下建一php文件,写上一句测试php环境的最经典的<?php phpinfo(); ?...打开nginx1.5.2的文件夹,找到conf目录,编辑目录下的nginx.conf文件,我的编辑结果如下所示,具体配置过程需要注意什么请看注释: server { listen...最后,写了一批处理文件来启动fast-cgi和nginx,这能就能一键启动nginx+php的环境了。...php-cgi.exe和php.ini的路径 ,后面的-b,-c等参数必须保留且注意前后空格 RunHiddenConsole D:/webServer/php-5.4.3/php-cgi.exe -b

    56420

    windows批处理命令教程的书籍有哪些_windows脚本命令

    命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。...tokens=x,y,m-n – 指每行的哪一符号被传递到每个迭代的 for 本身。这会导致额外变量名称的格式为一范围。...通过 nth 符号指定 m 符号字符串最后字符星号,那么额外的变量将在最后符号解析之分配并接受行的保留文本。...批处理可以使用参数(批参数,跟在命令后面的),一般从%1到 %9这九,当有多个参数时需要用shift来移动,这种情况并不多见,我们就不考虑它了。...|TIME ECHO命令输出空行的另一应用实例是:将ECHO.加在自动批处理文件,使原本屏幕下方显示的提示画面,出现在屏幕上方。 6.

    5K10
    领券