Windows命令行参数的知识(一)
最近没事的时候,准备研究一下Windows命令行参数的知识,因为每次自己在操作电脑时总是效率太慢,如果能够了解Windows参数的一些知识,绝对能提高效率!
基本外部命令和内部命令
首先是基本的知识,一般Windows命令包含内部命令和外部命令,其中外部命令比较多,外部命令一般在%SystemRoot%\System32
里面,我的电脑%SystemRoot%=C:\Windows
,估计别人的也差不多。还有一个比较常用的路径%UserProfile%=C:\User\Administrator(或者你自己命名的用户,默认是Administrator)
,这个路径代表你现在使用的用户路径。
内部命令比较少,这里可以罗列出来:
命令名 | 描述 |
---|---|
assoc | 显示或者修改当前的文件扩展关联 |
break | 设置调试中断 |
call | 在一个脚本内调用程序或者其他脚本 |
cd(chdir) | 显示当前目录名或者改变当前目录位置 |
cls | 清理命令窗口并清除屏幕缓存区 |
color | 设置命令shell窗口的文本与背景颜色 |
copy | 将文件从一个位置复制到另一个位置,或者将多个文件连接在一起 |
date | 显示或者设置系统时间 |
del(erase) | 删除指定文件、多个文件或目录 |
dir | 显示当前目录或者指定目录中的子目录与文件列表 |
dpath | 允许程序打开指定目录中的数据文件(就像在当前目录中一样) |
echo | 显示命令行的文本字符串,设置命令回显状态(on|off) |
endlocal | 变量局部化结束 |
exit | 退出命令shell |
for | 对一组文件中的每个文件运行指定的命令 |
ftype | 显示当前文件类型或者修改文件类型(文件扩展关联中使用) |
goto | 将命令解释器直接跳转到批处理脚本中某个标记行 |
if | 命令的条件执行 |
md(makedir) | 在当前目录或者指定目录下创建子目录 |
mklink | 为文件或者目录创建符合连接或者硬连接 |
move | 将一个或者多个文件从当前目录或者指定源目录移动到指定的目标目录,也可以用于对目录进行重命名 |
path | 显示或者设置操作系统用于搜索可执行文件与脚本的命令路径 |
pause | 暂停批处理程序,并显示以下消息: 请按任意键继续… |
popd | 弹出由pushd保存的目录,使其成为当前目录 |
pushd | 保存当前目录位置,之后跳转到指定的目录(可选) |
prompt | 为命令提示符设置文本 |
rd(rmdir) | 移除目录(也可以移除其子目录) |
rem | 在批处理脚本或者Config.sys中设置标记 |
ren(rename) | 对一个或者多个文件进行重命名 |
set | 显示当前环境变量,或者为当前命令shell设置临时变量 |
setlocal | 在批处理脚本中标记变量局部化的开始 |
shift | 改变批处理脚本中可替换变量的位置 |
start | 启动一个单独的窗口,以便运行指定的程序或者命令 |
time | 显示或者设置系统时间 |
title | 设置命令shell窗口的标题 |
type | 显示文本文件的内容 |
verify | 在将文件写入磁盘后,指令操作系统对其进行验证 |
vol | 显示磁盘卷标与序列号 |
以上就是内部命令,而外部命令太多了,这里就不再罗列,以后用到的时候慢慢记录。
首先学习的第一个外部命令是setx,这个命令和内部命令set很像,区别是这个命令可以永久的更改用户环境变量,而set是临时改变,比如我想增加一个
C:\script
文件夹到path里面,就可以使用: setx Path "%Path;C:\script"
或者setx Path "C:\script;%Path"
两者的区别是搜索先后顺序不同罢了。
管理文件扩展与文件关联
通过使用文件扩展,在命令行只需要输入命令名就可以执行命令,有两种类型的文件扩展:
- 可执行文件的文件扩展。可执行文件是使用环境变量%PATHEXT%进行设置的,可以输入set pathext
来查看当前设置,一般是PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
,这些文件都不需要在命令行中显示的指定文件扩展名。
- 应用程序的文件扩展。应用程序的文件扩展也就是文件关联。通过文件关联可以把参数传递给可执行文件,从而等价于双击鼠标打开对应文件。系统中的已知扩展都对应有文件关联,通过assoc
查看,比如assoc.exe
即查看后缀为exe文件的文件关联。查询得到.exe=exefile
。然后可以使用ftype
查看映射的文件类型,比如: ftype exefile
得到exefile="%1" %*
,即说明运行exe文件时,Windows会判断第一个值为要运行的命令,其他的则为要运行的参数。
简单脚本编写规则
有了Windows系统命令的基本知识,就可以写一些简单脚本程序了,与C++、java这类程序有点区别,写脚本程序不需要;
来进行断开程序段,在命令读取下面任意字符就终止:
- 断行(比如按下shift+enter键)
- 回车与断行(比如按下enter键)
- 文件尾标志
常见语句和命令:
- cls
清除控制台窗口,充值屏幕缓冲
- rem
在脚本中创建注释
- echo
在命令行中显示消息、关闭或者打开命令回显
- @
以行为单位控制命令的回显方式
- title
设置命令shell窗口的标题栏
- color
设置命令shell窗口使用的文本色与背景色
为脚本添加注释
一般注释信息有:
- [ ] 脚本创建时间和最后修改时间
- [ ] 脚本创建者
- [ ] 脚本创建者联系方式
- [ ] 脚本用途
- [ ] 脚本输出是否保存及其保存位置
例如下面一个简单的脚本程序:
rem ************************
rem Script: SysInfo.bat
rem Creation Data: --
rem Last Modified: --
rem Author: XiaoDong Wang
rem Email: @qq.com
rem ************************
rem Description: Display system configuration information
rem include system name. IP configuration
rem and Windows version.
rem ************************
rem Files: Stores output in C:\currentSys.txt
rem ************************ @echo off
hostname > C:\currentSys.txt
ver >> C:\currentSys.txt
ipconfig -all >> C:\currentSys.txt
- cls
清除控制台窗口,充值屏幕缓冲
- rem
在脚本中创建注释
- echo
在命令行中显示消息、关闭或者打开命令回显
- @
以行为单位控制命令的回显方式
- title
设置命令shell窗口的标题栏
- color
设置命令shell窗口使用的文本色与背景色
这个程序虽然简单,但是注释的方式值得学习!以后一定要严格要求自己这样注释!!主要上面程序的第一行:@
代表后面一句话不显示、echo off
代表关闭下面所有行的回显,非常好用,建议所有脚本第一行都加上这句话,是的脚本运行后不用显示一堆无用信息。
1、首先用记事本新建一个文件夹
2、然后在记事本里输入ipconfig /release和ipconfig /renew命令
3、将文本另存为.bat为后缀的文件
4、鼠标右键选中编辑好的脚本文件,选择以管理员方式运行
- 5
5、这时我们电脑就会自动断开网络然后重新连接网络了:
我的CMD输入任何命令都显示 不是内部命令也不是外部命令 也不是可运行的外部程序或批处理文件
兄弟,你电脑的环境变量%path%是不是定义错了?安装少数软件可能会修改path值,建议你重新设置下环境变量。
具体设置方法:右键“我的电脑”→“属性”→“高级”→”环境变量”
找到系统变量副框,继续找到path,双击,将变量值输修改成:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
然后再去试试你的命令吧~
=======================================
看到你的补充截图,建议你重置一下环境变量:将我给的代码覆盖以前的环境变量设定,当然覆盖前请先备份之前变量路径。
你命令打错了…………
要不就是你的系统PATH变量的设置有问题
你在CMD界面打path命令看一下 有没有类似
PATH=C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\
这样的结果的
如果没有就自己设置一下。
Windows命令行参数的知识(一)的更多相关文章
- Windows命令行参数(不断更新)
这里先讲一下系统变量: 注意:一旦将路径加入到环境变量Path中,那么运行它下面的程序的时候就不用非得指定到目标路径中,直接键入命令就行了. 1.type命令:打开并读取文件里面的内容. C:\Use ...
- 使用getopt函数对windows命令行程序进行参数解析
getopt()是libc的标准函数,很多语言中都能找到它的移植版本. // -b -p "c:\input" -o "e:\test\output" bool ...
- Windows下解析命令行参数
linux通常使用GNU C提供的函数getopt.getopt_long.getopt_long_only函数来解析命令行参数. 移植到Windows下 getopt.h #ifndef _GETO ...
- windows WTL使用命令行参数
两中方法: 第一种: int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLin ...
- C基础知识(14):命令行参数
命令行参数是使用main()函数参数来处理的,其中,argc是指传入参数的个数,argv[]是一个指针数组,指向传递给程序的每个参数. 应当指出的是,argv[0]存储程序的名称,argv[1]是一个 ...
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
- 7z命令行参数中的路径
最近在自动化的过程中用到了7z命令行工具,发现其参数中的路径挺有意思的,在此总结一下.本文中所有demo使用的7z版本为:15.14 x64. 压缩某个文件夹 下面的命令会把g:\temp\目录和目录 ...
- 我也要学C语言-第十九章:命令行参数
C语言的语法规定main函数是带连个参数的,因为当初是考虑是在控制台下写程序.于是用户可以给参数微控程序.其实现在的WINDOWS程序也可以带参数.一般正规军写的应该程序一般都带命令行参数,帮助文档, ...
- 命令行参数(argc, argv)
每个C语言程序都必须有一个称为main()的函数,作为程序启动的起点.当执行程序时,命令行参数(command-line argument)(由shell逐一解析)通过两个入参提供给main()函数. ...
随机推荐
- USB2.0学习笔记连载(十):关于WIN8及以上系统哈希值问题
笔者上一篇博客讲解了关于驱动的安装,笔者使用的系统是win8.1系统,那么对于win8系统及以上系统,会对外部设备,没有在windows系统中进行签名过的,都是不允许在windows系统中进行安装的, ...
- IntelliJ IDEA 13.1.3 SVN无法正常使用问题
http://my.oschina.net/luckyi/blog/291007 最新升级IDEA12到13版本,升级后发现IDEA中SVN无法正常使用,但文件夹下能够正常使用. 并且报错:svn: ...
- Axiom3D:Ogre公告板集与合并批次
在上文中,我们把Ogre里的网格分解成点线面后,我们要完成一个新的功能,在点上突出显示. 得到顶点位置后,这个功能也就是一个很简单的事,最开始是每个顶点添加一个子节点,节点上添加一个圆点. forea ...
- VC6下OpenGL 开发环境的构建外加一个简单的二维网络棋盘绘制示例
一.安装GLUT 工具包 GLUT 不是OpenGL 所必须的,但它会给我们的学习带来一定的方便,推荐安装. Windows 环境下的GLUT 本地下载地址:glut-install.zip(大小约为 ...
- Solr系列四:Solr(solrj 、索引API 、 结构化数据导入)
一.SolrJ介绍 1. SolrJ是什么? Solr提供的用于JAVA应用中访问solr服务API的客户端jar.在我们的应用中引入solrj: <dependency> <gro ...
- Mybatis系列(五):mybatis逆向工程
一.背景 在实际开发中我们会自己去写mapper映射文件,接口,数据库表对应的实体类,如果需求任务比较少,咱们还可以慢慢的一个一个去写,但是这是不现实的,因为在工作中我们的任务是很多的,这时mybat ...
- e829. 获得和设置JTabbedPane 的卡片
// To create a tabbed pane, see e828 创建JTabbedPane // Get the index of the currently selected tab in ...
- WCF Service 配置文件注释(转)
VS 2008 SP1(不确定是否不打SP1是否有)自带的一个编辑工具,可以更快的帮助定制配置文件, 以前看到过没有注意, 昨天正好一个同事提起, 这里记录一笔:打开VS 2008->Tools ...
- C# byte[]保存成文件
string path = Server.MapPath(@"\a.pdf"); FileStream fs = new FileStream(path, FileMode.Cre ...
- PHP中全局变量的使用global和$GLOBALS[]
From: http://blog.csdn.net/happyqyt/article/details/7219889 用PHP开发项目,不可避免的会使用到全局变量,比如一些网站的配置信息,全站通用, ...