‘壹’ 如何知道常用DOS命令有哪些参数及其含义
命令后加空格然后/?比如说想知道FORMAT的参数,,在CMD窗口输入FORMAT/?然后回车,就会出现相应的参数
‘贰’ 什么叫做命令行参数
给你个例子,用C语言编程实现,运行时要求带两个字符串参数,输出这两个字符串之间的关系。
#include
#include
void main(int argc,char *argv[])
{
if (argc!=3)
printf("请在运行程序时提供两个字符串参数!例如:testApp aaa bbb\n");
else
{
if (strcmp(argv[1],argv[2])>0)
printf("字符串1大于字符串2");
else if(strcmp(argv[1],argv[2])<0 )
printf("字符串1小于字符串2");
else
printf("字符串1等于字符串2");
}
}
把上述程序保存为testApp.cpp,然后编译为testApp.exe文件,最后在命令行模式下按“testApp 字符串1 字符串2”的格式输入命令,即可看到结果。
建议你了解一下DOS命令的初级知识,其实在windows-》运行,输入CMD即可打开命令行操作窗口,然后就可以用输入命令的方式运行一些应用程序了,一般格式就是“命令关键字 命令行参数列表”这种。比如你输入“dir /ad”,其中dir就是命令,“/ad”就是命令行参数。
‘叁’ 什么是DOS命令的命令行参数,,(批处理中的参数怎么理解,,)
举个例子,如dir/?
后面的W/P/S/A/AD...等等都是它的参数!
任何命令你+/?都可以显示出来各自的参数!
批处理就是把这些命令组合起来,使用*.bat点击直接运行!
‘肆’ DOS 参数命令
/b 参数也许是为了兼容旧版(DOS)的 DEFRAG 命令吧。/s 参数也可用,并且无记录。我记得当时用 /b 参数来实现碎片整理之后重启计算机。
‘伍’ DOS命令后面的参数如何输入
命令+空格+/?回车,可以查看该命令的所有可附加的参数、格式等。
‘陆’ 如何用C语言实现带参数的dos命令
需要使用带参数的主函数来实现。
带参数的主函数格式为:
int main(int argc, const char *argv[]);
其中argc为命令行参数的个数,包括可执行文件名。
argv为一个字符串数组,共计有argc个元素,依次为命令行输入的各个参数。其中argv[0]为执行的文件名。
下面的程序可以打印出文件名及参数。
#include<stdio.h>
intmain(intargc,constchar*argv[])//定义带参数的主函数
{
inti;
printf("执行文件名为:%s ",argv[0]);//打印可执行文件名
printf("有%d个参数: ",argc-1);//打印其它参数个数。
for(i=1;i<argc;i++)
{
printf("参数%d=%s ",i,argv[i]);//打印所有参数值。
}
return0;
}
输入:
test.exep1 p2 333 44
输出:
执行文件名为:test.exe
有4个参数:
参数1 = p1
参数2 = p2
参数3 = 333
参数4 = 44
‘柒’ DOS命令参数的使用方法
在DOS下看帮助。如要看dir命令的帮助信息 用dir/? 或者dir -help 或者 help dir
[ ]里面的是可选选项, | 隔开的是只能选择一个选项
如 运行 shutdown/?
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]
[-i | -l | -s | -r | -a] 是选用的,不需要时可以不用,但是同时只能在i ,l ,s, r ,a 中用一个参数
如 我要9小时后自动关机 用命令
shutdown -s -t 32400
-s 指关闭本机
-t 多少时间后关闭
32400 时间(秒)
-a 取消正在执行的shutdown 命令
‘捌’ DOS-命令行参数太多
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] KeyName [\\Machine\]FullKey 远程机器的机器名 - 忽略默认到当前机器。 远程机器上只有 HKLM 和 HKU。 FullKey ROOTKEY\SubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey 所选 ROOTKEY 下注册表项的完整名 /v 所选项之下要添加的值名 /ve 为注册表项添加空白值名<无名称> /t RegKey 数据类型 [ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN | REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN | REG_NONE | REG_EXPAND_SZ ] 如果忽略,则采用 REG_SZ /s 指定一个在 REG_MULTI_SZ 数据字符串中 用作分隔符的字符 如果忽略,则将 "\0" 用作分隔符 /d 要分配给添加的注册表 ValueName 的数据 /f 不用提示就强行改写现有注册表项 例如: REG ADD \\ABC\HKLM\Software\MyCo 添加远程机器 ABC 上的一个注册表项 HKLM\Software\MyCo REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead 添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead) REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail 添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax\0mail\0\0) REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%% 添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%) 注意: 在扩充字符串中使用双百分比符号( %% )
‘玖’ 在 dos 中dir的所有参数及其使用方法
菜鸟命令入门
适宜人群:没有DOS基础的初学者 本期命令:dir
学习目标:学会使用dir命令列出目录和文件
很多菜鸟都会疑惑,在Windows下可以打开“我的电脑”显示目录和文件,但在“黑乎乎”的命令行窗口中,应该怎么查看(列出)目录和文件呢?这就需要使用DOS命令——dir。dir命令就像一个军队里的指挥官,他一声令下,所管辖的士兵就得按照他的要求排列、报数。通过dir命令后的参数,我们可以让这些士兵(文件)按各种方式排列(按文件大小排列、按字母顺序排列等)。
任务1:列出c:\windows下的目录及文件
dir c:\windows
命令讲解:dir命令最基本的使用方法即为“dir 要查看的目录或路径”,但这种方法有明显的缺点——当列表中的目录及文件过多时就无法完全显示,形如刷屏,我们来看看任务2是怎么解决这个问题的。
任务2:分页列出c:\windows下的目录及文件
dir c:\windows /p
命令讲解:在刚才的基本使用方法的基础上,我们在命令最后加上一个参数“/p”(即“page”页的缩写),列文件时就会使用分页显示方式,即列出一屏的目录及文件后,提示“按任意键继续...”,按任意键后则显示下一屏(见图1)。在“我的电脑”中可以通过勾选“文件夹选项”中的“显示隐藏文件”复选框来查看隐藏文件,在命令行方式下应该怎么做呢?
任务3:列出c:\windows下的隐藏文件
dir c:\windows /a:h
命令讲解:在命令的最后加上参数“/a:文件属性”,就能显示出指定属性的文件(隐藏文件的属性为“h”,目录为“d”,系统为“s”,只读为“r”)。但有的时候我们想看看目录下是否有一个特定名称的文件,却被文件列表中密密麻麻的文件名给挑花了眼。怎么才能让文件能够像英文字典似的以字母顺序排列,以便于我们查找文件呢?
任务4:以字母顺序列出c:\windows下的目录及文件
dir c:\windows /o:n
(见图2 按字母顺序排列的结果)
命令讲解:“/o:排序方式”参数指定了dir命令显示命令结果时的排序方式,排序方式设为“n”即代表按照文件名的字母顺序排列(从A~Z,以此类推)。
小提示
★我们也可以指定排序方式为按照文件扩展名的字母顺序(如:dir c:\windows /o:e)来找出特定扩展名的文件,同样的,还可以使用文件大小等方式进行排序。
★“/o”和“/a”可以省略其后的冒号“:”,但之间不能留有空格,如“/o:n”省略后的形式应为“/on”。中级老鸟做脚本
适宜人群:有一定DOS基础的用户 本期脚本:制作用户指定的任意格式文件列表清单
脚本说明:每个人都有很多个人编辑或收藏的文件,如文本文件、Office文档、图形图像、音频视频文件。久而久之,文件越积越多,查找起来既费时又费力。为便于文件检索,有时需要制作一份文件列表清单。为叙述方便,假设文件保存于目录D:\myfolder,列表清单文件保存为C:\list.txt。如果需要保存在其他目录中,可在代码中用该目录名替换D:\myfolder即可。
(插入图3 要在杂乱无章的文件夹中找东西非常困难)
*以下任务中的代码在Windows 9x/Me/2000/XP/2003下通用
任务1:列出D:\myfolder目录下扩展名为doc的文件清单
第一步:打开“记事本”,输入下列内容并保存为MakeList.bat批处理脚本文件放置在D:\myfolder目录:
@echo off
dir /o:n /b *.doc > c:\list.txt
脚本讲解:关闭命令回显(关于回显命令echo可参考上期的《DOS快餐店》),按名称(字母顺序)输出文件扩展名为doc的文件列表清单,保存到c:\list.txt。
小提示
★dir命令使用参数“/b”则表示只列出文件名。
★重定向符号“>”表示将其左侧的命令的输出结果(如上文即为dir命令列出的文件)写入到其右侧的文件中去。
第二步:打开目录D:\myfolder,双击MakeList.bat文件,运行该批处理脚本文件。
第三步:用“记事本”打开C:\list.txt文件,即可查看D:\myfolder目录下所有Word文档的列表清单。
(插入图4 生成的列表清单)
Just do it
替换批处理脚本文件的“doc”为其他文件扩展名,如“xls”则列出Excel文档。这段脚本让我们能够很方便地生成目录下的文件清单,可是每次要生成清单前都必须将该脚本文件复制到要生成清单的目录下,这未免有些麻烦。能不能让脚本文件能够像DOS命令那样支持参数呢?
任务2:支持参数的文件清单脚本
特别说明:该脚本的使用方法为“MakeList.bat 要列出的扩展名 进行操作的目录”(例如:MakeList.bat txt c:\windows)。
第一步:打开记事本,输入下列内容,然后保存为“MakeList.bat”批处理脚本文件,可保存于任意文件夹,建议保存于“我的文档”、“C:\”文件夹或其他盘根目录下:
@echo off
if {%2} == {} (set mypath=) else set mypath=%2\
dir /on /b %mypath%*.%1 > c:\list.txt
if errorlevel 1 echo 命令格式:makelist {文件扩展名} [驱动器:][路径] > c:\list.txt
脚本讲解:首先关闭命令回显。如果(即脚本中的“if”)检测第二个参数(%2表示第二个命令参数,即脚本进行操作的目录,为防止目录参数为空字串,须在其两边加上大括号“{}”)是否为空(即在使用命令时没有指定第二个参数,如:MakeList txt),为空则删除上一次设置的mypath环境变量(如果有的话),否则设置mypath环境变量(set命令用于设置环境变量)为参数末端加一反斜杆(即%2\,如%2这个参数的值为“C:\test”,则变为“C:\test\”)。最后按文件名称的字母顺序输出mypath中所含路径下指定扩展名(即由第一个参数%1指定)的文件列表清单文件。如果找不到文件或批处理命令参数错误,则输出提示信息(echo后面的即为错误提示)。
第二步:打开“命令提示符”(Windows 2000/XP/2003)或“MS-DOS方式”(Windows 9x/Me)窗口,将当前驱动器和目录改变到MakeList.bat批处理脚本文件所在目录。
第三步:假设现在要在目录D:\myfolder中列出文本文档(即*.txt)清单,则输入“makelist txt d:\myfolder”命令即可(不含引号)。如果当前工作驱动器和目录已是D:\myfolder,只要输入“makelist txt”命令,效果一样。
现在赶快打开C:\list.txt文件查看列表清单文件,是不是很棒?
小提示
★在命令行状态下执行批处理命令时,不必键入最后的“.bat”扩展名,因为BAT文件的优先级要高于EXE和COM文件(即如果同一目录下有a.bat、a.exe和a.com,在命令行下执行a,则系统会优先调用a.bat文件)。
★输入目录参数时不要加反斜杆,如“C:\test”而不能使用“C:\test\”。
★如目录名中含有空格或长命名,都必须在路径两边加上英文双引号,或者使用8.3规范(格式)。高级专家来把脉
适宜人群:已掌握各条DOS命令的高级用户 把脉对象:让dir列出带有指定关键字的文件
诊断结果:即使指定了字母排序显示方式,要在dir命令的一大堆结果中找到所需的文件也是非常困难的,如果能让dir命令支持关键字就能解决这个问题了。
治疗方案:利用find命令配合找出dir命令结果中含有指定关键字的文件名。可以使用管道“|”将dir的输出作为其他命令的输入参数。使用通配符(*或?)指定要显示的文件名或目录名(例:“dir *.txt”、“dir ????fan.*”)。下面以找出c:\windows下文件名中带有“win”关键字的exe文件为例解决这个问题。
dir c:\windows\*.exe | find "win"
(插入图5 指定关键字后运行的效果)
命令讲解:使用dir命令列出c:\windows下的所有exe文件,再将这个输出结果通过管道传递给find命令,由其对结果进行二次加工,筛选出含有“win”关键字的那些行(find命令及管道的使用,我们将在今后的DOS快餐店中为大家详细讲解,敬请关注)。
小提示
要了解dir命令的更多参数,可以在命令行窗口中输入“dir/?”(不含引号,替换其中的“dir”可以获得其他命令的用法)即可。