最近没事的时候,准备研究一下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. 1、首先用记事本新建一个文件夹

  2.  

    2、然后在记事本里输入ipconfig /release和ipconfig /renew命令

  3.  

    3、将文本另存为.bat为后缀的文件

  4.  

    4、鼠标右键选中编辑好的脚本文件,选择以管理员方式运行

  5. 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命令行参数的知识(一)的更多相关文章

  1. Windows命令行参数(不断更新)

    这里先讲一下系统变量: 注意:一旦将路径加入到环境变量Path中,那么运行它下面的程序的时候就不用非得指定到目标路径中,直接键入命令就行了. 1.type命令:打开并读取文件里面的内容. C:\Use ...

  2. 使用getopt函数对windows命令行程序进行参数解析

    getopt()是libc的标准函数,很多语言中都能找到它的移植版本. // -b -p "c:\input" -o "e:\test\output" bool ...

  3. Windows下解析命令行参数

    linux通常使用GNU C提供的函数getopt.getopt_long.getopt_long_only函数来解析命令行参数. 移植到Windows下 getopt.h #ifndef _GETO ...

  4. windows WTL使用命令行参数

    两中方法: 第一种: int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLin ...

  5. C基础知识(14):命令行参数

    命令行参数是使用main()函数参数来处理的,其中,argc是指传入参数的个数,argv[]是一个指针数组,指向传递给程序的每个参数. 应当指出的是,argv[0]存储程序的名称,argv[1]是一个 ...

  6. C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例

    C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...

  7. 7z命令行参数中的路径

    最近在自动化的过程中用到了7z命令行工具,发现其参数中的路径挺有意思的,在此总结一下.本文中所有demo使用的7z版本为:15.14 x64. 压缩某个文件夹 下面的命令会把g:\temp\目录和目录 ...

  8. 我也要学C语言-第十九章:命令行参数

    C语言的语法规定main函数是带连个参数的,因为当初是考虑是在控制台下写程序.于是用户可以给参数微控程序.其实现在的WINDOWS程序也可以带参数.一般正规军写的应该程序一般都带命令行参数,帮助文档, ...

  9. 命令行参数(argc, argv)

    每个C语言程序都必须有一个称为main()的函数,作为程序启动的起点.当执行程序时,命令行参数(command-line argument)(由shell逐一解析)通过两个入参提供给main()函数. ...

随机推荐

  1. 自然语言交流系统 phxnet团队 创新实训 个人博客 (五)

    有关我们这个项目:智能自然语言交流系统,所借鉴的技术有: 第一:我们使用了科大讯飞的在线语音转换,涉及的有文本传给云端服务器的文字转换成语音和本地的语音上传给服务器转换成文字. 涉及的相关的代码有: ...

  2. Item is not readable svn: 条目不可读

    问题:svn 查看资源历史记录失败 ,并提示"Item is not readable" 解决: 配置目录权限时如: [/]tangtx=rwyangcx=rwweishq=rw ...

  3. Build 2016上一些令人兴奋的东西

    本来应该要更新Windows IOT开发入门的,但是由于Build 2016刚刚过去,不得不将一些令人兴奋的东西给大家进行分享. 首先对于错过这次直播的,可以在以下链接再次看到观看: https:// ...

  4. 关于Unity中新版动画系统的使用

    Mecanim动画 1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的 ...

  5. Ogre RTSS组件解析

    我们为什么要用RTSS. Ogre如计算物体位置,纹理,光照都有固定API如(glMatrixFrustumEXT, glLoadmatrix, glTexture, glLight ),使用这些AP ...

  6. Mysql 配置文件和目录的合理分配

    记得给权限呀, 权限呀, 都是泪 多实例 单实例 配置文件 [client] port = 3301 socket = /data/mysql3301/data/mysqld3301.sock [my ...

  7. 使 Finder 显示 文件夹路径

    显示路径: cd ~ defaults write com.apple.finder _FXShowPosixPathInTitle -bool TRUE killall Finder 不显示路径: ...

  8. ubuntu 14.04 忘记密码怎么办?

    ref: https://jingyan.baidu.com/article/8065f87fe20832233024985a.html

  9. 你可能不知道UED和UCD

    我们都知道UI是User Interface,即它的本意是用户界面,从字面上看是用户和界面组成,实际上还包括用户与界面之间的交互关系.UI最初对大家来说只是一个名词,它代表一些界面.当然重点还是是UI ...

  10. 1. BeeGo 介绍与项目的创建,启动

    简介 BeeGo是一个快速开发Go而应用的HTTP框架,他可以用来快速开发API,web以及后端服务等各种应用,是一个restful 的框架,主要涉及灵感来源于tornado,sinatr和flask ...