批处理文件中的%f、%i、%0~9都是什么意思?

如题所述

这级几个都是变量的符号,%1~%9是系统变量,不用你去定义。但像%f之类的一般是自己用SET命令定义的一个变量名称,或者是FOR命令时用的自定义变量。至于%0,则表示一个批处理本身。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-06-15

%%加字母的形式一般是在for循环里的.比方说:

for /f "tokens=*" %%a in ('dir/b/s') do ()

%%a 就 表示 dir/b/s 这段命令返回值的第一行


%0~%9表示传递的参数,比方说:

call hello.cmd "hello" "China" "How are you"

%0 表示批处理本身(一般情况下用不到)

%1 表示参数 "hello"

%2 表示参数 "China"

%3 表示参数 "How are you"

...

...

以此类推

本回答被网友采纳
第2个回答  2013-04-07
cmd下才有%f %i表示变量f和变量i
%0~9也没这写法,%0~%9正常理解为0-9这10个传递过来的10个变量
第3个回答  2013-04-07
%f %i 表示变量
%0是有单独意思的,代表批处理自身
其余%1到%9也是变量
第4个回答  2013-04-08
一.简单批处理内部命令简介
1.Echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显
设置。
语法
echo [{on|off}] [message]
Sample:@echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实
现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。

2.@ 命令
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让
对方看到你使用的命令啦。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留
了个autoset这个参数给我们,效果和/y是一样的。)

3.Goto 命令
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。)
Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详
细的解释。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标
签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来
才会理解你的意图啊。

4.Rem 命令
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于
别人阅读和你自己日后修改。
Rem Message
Sample:@Rem Here is the description.

5.Pause 命令
运行 Pause 命令时,将显示下面的消息:
Press any key to continue . . .
Sample:
@echo off
:begin
copy a:*.* d:\back
echo Please put a new disk into driver A
pause
goto begin
在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另
一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续
处理。

6.Call 命令
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调
用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。
语法
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
参数
[Drive:}[Path] FileName
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。

7.start 命令
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
入侵常用参数:
MIN 开始时窗口最小化
SEPARATE 在分开的空间内开始 16 位 Windows 程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
parameters 这些为传送到命令/程序的参数
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如
果在命令脚本内执行,该新行为则不会发生。
8.choice 命令
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,
c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
Sample:
Sample.bat的内容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (应先判断数值最高的错误码)
if errorlevel 2 goto mem
if errotlevel 1 goto end

批处理文件中的%f、%i、%0~9都是什么意思?
这级几个都是变量的符号,%1~%9是系统变量,不用你去定义。但像%f之类的一般是自己用SET命令定义的一个变量名称,或者是FOR命令时用的自定义变量。至于%0,则表示一个批处理本身。

如何在批处理命令行传递参数?
[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。例1:C:根目录下有一批处理文件名为f.bat,内容为:echo off format %1 如果执行C:\\>f a:那么在执行f.bat时,%1就...

bat 文件中%0、%1等是表示什么
%0 -%9表示命令行参数,%0表示bat文件名本身,%1-%9表示其后的参数,如在cmd输入命令test.bat 1 2。%0就表示test.bat,%1表示test.bat的第一个参数“1”,%2表示"2"。

批处理中%和%%的用法有哪些
2.%%i 这种变量是for 语句里面 特有的变量(还有一种是外部变量,接受外部参数的格式是%1 -%9 共9个变量),只有在批处理里面才写 两个 %% 号表示变量,cmd中只用 一个 % 号。反正只要你在批处理文件里面用 for,变量就用 %%。例如批处理中的写法for %%i in (1 2 3 4 5 ) do echo %...

c语言% f的含义?
2、%c 表示字符。3、%d表示有符号十进制整数。4、%f 表示浮点数(包括float和doulbe)。5、%e(%E)表示 浮点数指数输出[e-(E-)记数法]。6、%g(%G) 表示浮点数不显无意义的零"0"。7、%i表示有符号十进制整数(与%d相同)。8、%u表示无符号十进制整数。9、%o表示八进制整数 e.g. 0123。10、...

批处理详解
(set) 指定一个或一组文件。可以使用通配符。command 指定对每个文件执行的命令。command-parameters 为特定命令指定参数或命令行开关。在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I如果命令扩展名被启用,下列额外的 FOR 命令格式会受到...

%d,%e,%c,%f,%i,还有哪些啊 都告诉我
d :带符号十进制%u :无符号十进制%f :小数形式十进制%ld :(长整形的)%e :科学记数法%g :f和e中短者,不含无效0%p :输出地址,格式由实现定义%x :无符号十六进制%c :字符%s :字符串%o :无符号八进制

批处理的FOR学习
for 命令使用指定 set 中的每个文本字符串替换 %variable 或 %%variable,直到 command 处理所有文件为止。 记住,for variable名是区分大小写、全局的,并且每次总共不超过 52 个是活动的。 要避免批处理参数从 %0 到 %9 混淆,对 variable 可以使用除数字 0 到 9 之外的任何字符。对于简单的批处理文件,单个字符...

批处理中的环境变量是怎么回事 高手详解!说的好追加30分
但这个设置只在该批处理运行的时候有作用。当批处理运行完成后环境变量PATH将会还原。 9、 SHIFT SHIFT命令可以让在命令上的的命令使用超过10个(%0~%9)以上的可替代参数例: ECHO OFF ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9 SHIFT ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9 SHIFT ECHO %1 %2 %...

批处理如何提取文件位置和文件名 不包括后缀
简要说明:对于变量%0~%9及for里使用的%i这样的变量,可以有以下的语法:~I - 删除任何引号("),扩充 %I ~fI - 将 %I 扩充到一个完全合格的路径名 ~dI - 仅将 %I 扩充到一个驱动器号 ~pI - 仅将 %I 扩充到一个路径 ~nI - 仅将 %I 扩充到一个文件名 ~xI - 仅...

相似回答