可以使用的批处理参数集合

可以在批处理文件内的任何地方使用批处理参数,以提取有关环境设置的信息。

Cmd.exe 提供批处理参数扩展变量(%0 到 %9)。当在批处理文件中使用批处理参数时,%0 将由批处理文件名替换,而 %1 到 %9 将由在命令行键入的相应参数替换。要访问大于 %9 的参数,必须使用 shift 命令。有关 Shift 命令的详细信息,请参阅 Shift。%* 批处理参数是所有参数(不包括 %0)可引用的通配符,这些参数传递到批处理文件中。

例如,要将 Folder1 中的内容复制到 Folder2,其中 %1 和 %2 将分别由值 Folder1 和 Folder2 替换,请在批处理文件 Mybatch.bat 中键入如下内容:

xcopy %1\*.* %2

要运行该文件,请键入:

mybatch.bat C:\folder1 D:\folder2

这与在批处理文件中键入如下内容是等效的:

xcopy C:\folder1 \*.* D:\folder2

也可以在批处理参数中使用编辑符。编辑符使用当前的驱动器和目录信息将批处理参数扩展为部分或完整的文件或目录名。要使用编辑符,请键入百分号 (%) 字符,后面是波形符号 (~) 字符,然后键入合适的编辑符(即 %~modifier)。

下表列出了可在扩展中使用的编辑符。

编辑符 说明 
%~1 扩展 %1 并删除任何引号 ("")。 
%~f1 将 %1 扩展到完全合格的路径名。 
%~d1 将 %1 扩展到驱动器盘符。  
%~p1 将 %1 扩展到路径。 
%~n1 将 %1 扩展到文件名。  
%~x1 将 %1 扩展到文件扩展名。 
%~s1 扩展的路径仅包含短名称。 
%~a1 将 %1 扩展到文件属性。 
%~t1 将 %1 扩展到文件日期/时间。 
%~z1 将 %1 扩展到文件大小。 
%~$PATH:1 搜索 PATH 环境变量中列出的目录,并将 %1 扩展到第一个找到的目录的完全合格名称。如果没有定义环境变量名称,或没有找到文件,则此编辑符扩展成空字符串。

下表列出了可用于获取复杂结果的编辑符和限定符的可能组合情况:

编辑符 说明 
%~dp1 将 %1 扩展到驱动器盘符和路径。 
%~nx1 将 %1 扩展到文件名和扩展名。 
%~dp$PATH:1 在 PATH 环境变量列出的目录中搜索 %1,并扩展到第一个找到的目录的驱动器盘符和路径。 
%~ftza1 将 %1 扩展到类似 dir 的输出行。

注意

在上面的例子中,可以使用其它批处理参数替换 %1 和 PATH。 
%* 编辑符是唯一可代表在批处理文件中传递的所有参数的编辑符。不能将该编辑符与 %~ 编辑符组合使用。%~ 语法必须通过有效的参数值来终止。

不能以与使用环境变量相同的方式使用批处理参数。不能搜索或替换值,或检查子字符串。然而,可以将参数分配给环境变量,然后使用该环境变量。

(0)

相关推荐

  • 可以使用的批处理参数集合

    可以在批处理文件内的任何地方使用批处理参数,以提取有关环境设置的信息. Cmd.exe 提供批处理参数扩展变量(%0 到 %9).当在批处理文件中使用批处理参数时,%0 将由批处理文件名替换,而 %1 到 %9 将由在命令行键入的相应参数替换.要访问大于 %9 的参数,必须使用 shift 命令.有关 Shift 命令的详细信息,请参阅 Shift.%* 批处理参数是所有参数(不包括 %0)可引用的通配符,这些参数传递到批处理文件中. 例如,要将 Folder1 中的内容复制到 Folder2,

  • 包你学会批处理整理集合第1/3页

    写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人.一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前... 先概述一下批处理是个什么东东.批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道---看了我也不一定信服----我是个菜鸟,当然就更不用说了:但我想总结出一个"比较合适的",而且我也相信自己可以把它

  • JScript中遍历Request表单参数集合的方法

    JScript下有一个Enumerator对象可以遍历集合.根据它的文档写了以下程序,可以遍历整个Request.QueryString集合: 复制代码 代码如下: var params = new Enumerator(Request.QueryString); while (!params.atEnd()) { Response.Write(params.item() + ":" + Request.QueryString(params.item()) + "<br

  • 使用JScript遍历Request表单参数集合

    复制代码 代码如下: var params = new Enumerator(Request.QueryString); while (!params.atEnd()) { Response.Write(params.item() + ":" + Request.QueryString(params.item()) + "<br />"); params.moveNext(); } 美中不足的是,Request对象本身不是集合,所以不能对Request对

  • jQuery UI-Draggable 参数集合

    Draggable 库文件:ui/ui.core.js.ui/ui.draggable.js ============================================================ Default: $("#draggable").draggable(); ============================================================ constrain-movement(限制范围移动): $("#d

  • asp中Request.ServerVariables的参数集合

    asp(vb)获取计算机名: <%set oWSH = Server.CreateObject("WScript.Network")%> <%=oWSH.ComputerName%> 判断Cookie是否可用(禁止) asp(vb): <%Set objBC=Server.CreateObject("MSWC.BrowserType")%> <%= objBC.Cookies%> 也可以在前一页面中写入cookie 在

  • DOS批处理脚本语言简介与详细说明

    一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当 前回显设置. 语法 echo [{on off}] [message] Sample:@echo off / echo hello world 在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结 合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来. 2.@ 命令 表示不显示@后面的命令,在入侵过程中(例如使用批处理

  • BAT 批处理脚本教程(详细篇脚本之家补充)

    第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令. 小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程. 了解了大概意思后,我们正式开始学习.先看一个简单的例子! @echo off echo "欢迎来到我们!" pause 把上面的3条命令保存为文件test.bat或者test.cmd然后执行, 他就会在屏幕上显示以下二行话

  • windows批处理命令教程

    批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们.使用批 处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务.当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到 的用批处理文件来给系统打补丁.批量植入后门程序等.下面就开始我们批处理学习之旅吧. 一.简单批处理内部命令简介 1.echo

  • 批处理编程- -介绍

    用批处理命令把一些特殊的文件按扩展名分类写到一份文件里.高中时代我最初接触到的就是DOS时代,我曾经也研究过批处理命令,但当时学得也不是很好,后来也看过一些过这方面的文章,但也没有进一步深入研究.基本上google,baidu上找不出来任何资料.今天又google,baidur查了一下,发现了好几篇文章(不过模板好像都是基于同一篇文章<简明批处理教程>,还是很少的,不过已经够用了哈. 原作出处已经找不到了,不过还是想转贴一下,实在是好东西,与公与私都要介绍一下: 批处理文件是无格式的文本文件,

随机推荐