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()函数. ...
随机推荐
- Android 软键盘弹出与关闭监听
private void listenerSoftInput() { final View activityRootView = findViewById(R.id.activityRoot); ac ...
- 关于Unity中FPS第一人称射击类游戏制作(专题十)
当前Unity最新版本5.6.3f1,我使用的是5.5.1f1 场景搭建 1: 导入人物模型, 手持一把枪;2: 导入碎片模型;3: 创建一个平面;4: 创建一个障碍物;5: 导入人物模型;6: 配置 ...
- 大型网站的SEO引爆点
网站越大,SEO服务做起来就轻松,因为大型网站都有很好的执行团队,你只需要找准他们网站的SEO爆破点,就能够迅速获得非常理想的SEO效果.本文将结合我最近两年的几个经典案例:腾讯拍拍.金山爱词霸.中青 ...
- SQLSERVER中统计所有表的记录数
SQLSERVER中统计所有表的记录数 利用系统索引表sysindexes中索引ID indid<1的行中的rows列存有该表的行数这一特点. 方法是利用隐藏未公开的系统存储过程sp_MS ...
- (转)st(state-threads) coroutine和stack分析
目录(?)[-] STACK分配 THREAD初始化栈 Thread启动和切换 Thread退出 Thread初始线程 Thread生命周期 st(state-threads) https://gi ...
- MySQL中show语法使用总结
MySQL中 show 语法的使用: 先查看MySQL版本信息: mysql> select version(); +------------+ | version() | +--------- ...
- Process和Thread在指定CPU运行
最近帮朋友写了一个多线程程序,他那边一运行多线程就出错,我这边却没有任何问题,找了好久才找到解决方法,原来是CPU的问题,有朋友遇到同样的问题,可以一起参考 //进程与指定cpu绑定 SetProce ...
- Intellij MyBatisPlus Plugin插件破解
1. 下载原始的MyBatisPlus Plugin插件. 2. 下载替换包,请根据实际版本下载: https://github.com/myoss/profile/tree/master/idea/ ...
- Java 利用POI操作PPT
解析PPT文件中的图片 import java.io.File; import java.io.FileOutputStream; import org.apache.poi.hslf.HSLFSli ...
- 使用w查看系统负载 vmstat命令 top命令 sar命令 nload命令
w/uptime 查看系统负载 w查看系统负载,uptime跟w一样. [root@centos7 ~]# w 22:34:10 up 6 days, 23:10, 4 users, load a ...