python简单⼏步获取各种DOS命令显⽰的内容详解流程
我们经常在C/C++中⽤“system("pause");”作暂停语句外,还有很多可以⽤system()调⽤,⽐如以下这些dos命令的功能也很不错:
system("title C++颜⾊设置程序"); //设置控制台窗⼝的标题,即的标题
system("mode con cols=64 lines=25"); //设置窗⼝宽度⾼度
system("date /t"); //显⽰⽇期
system("time /t"); //显⽰时间
system("shutdown -s -t 3600"); //延时关机 3600秒即⼀⼩时后关机
system("shutdown -a"); //取消延时关机
system("color 0B"); //设置⽂本和背景颜⾊
核⼼就⽤system()函数调⽤windows操作系统的DOS命令来做点事情,iOS、linux系统中也⼀样,仅需把引号中的命令⾏字符串换成对应操作系统的命令即可。
Python语⾔中,os库的system()函数同样也是这个功能,举个例⼦:
>>> import os
>>> for _ in range(5):
t = os.system('echo ·')
>>> t
>>>
以上代码可以发出5次蜂鸣声,这个实质就是ascii字符7(beep)的显⽰。它在Python IDLE窗⼝中呈现为“echo ·”中的那个粗圆点,可以⽤alt键+⼩键盘上的007键⼊;在DOS窗⼝下的python中除了这个⽅法还能⽤“Ctrl+G”录⼊,呈现为“echo ^G”。
代码运⾏结束后,t 就接受了echo命令的返回值,DOS命令执⾏成功⼀般都返回 0 。
同样换个DOS命令“Date /t”来显⽰⽇期:
>>> import os
>>> os.system('Date /t')
>>>
同样,也只返回⼀个 0 ,没有见到⽇期显⽰,但在控制台窗⼝下是可以显⽰的:
time 命令也⼀样,另外这两个命令还能⽤“echo 环境变量”来实现。看上图中语句返回的两⾏第⼀⾏显⽰的是我们想获取的值,第⼆⾏是命令返回值,通过赋值只能得到这个返回值 0 。
题外话:DOS中⽤两个%把环境变量名括起来表⽰⼀个环境变量, 可以⽤dos命令 set 来显⽰和设置这些系统环境变量。除了⽤“set path”外,path 命令可以单独显⽰ %PATH% 变量。
从上图中可以看到,⽤引号和波浪线 :~pos, length 可以把环境变量值按开始位置和所要长度来分割开,类似python的字符串切⽚: str='2021-10-19'; str[0:4]。
各个时期的Dos版本的内部命令有增有减个数不定,另外还有很多的外部命令可⽤。
D:\>set os
OS=Windows_NT
D:\>set systemdrive
SystemDrive=C:
D:\>set windir
windir=C:\Windows
D:\>set path
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Python\Scripts\;D:\Python\ PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
D:\>set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
D:\>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Python\Scripts\;D:\Python\ D:\>ver
Microsoft Windows [版本 6.1.7601]
D:\>
列出当前DOS版本的所有内部命令:
>>> import os
>>> print(''.join(os.popen('help').readlines()[2:-3]))
ATTRIB 显⽰或更改⽂件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
BCDEDIT 设置启动数据库中的属性以控制启动加载。
CACLS 显⽰或修改⽂件的访问控制列表(ACL)。
CALL 从另⼀个批处理程序调⽤这⼀个。
CD 显⽰当前⽬录的名称或将其更改。
CHCP 显⽰或设置活动代码页数。
CHDIR 显⽰当前⽬录的名称或将其更改。
CHKDSK 检查磁盘并显⽰状态报告。
CHKNTFS 显⽰或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另⼀个 Windows 命令解释程序窗⼝。COLOR 设置默认控制台前景和背景颜⾊。
COMP ⽐较两个或两套⽂件的内容。
COMPACT 显⽰或更改 NTFS 分区上⽂件的压缩。CONVERT 将 FAT 卷转换成 NTFS。您不能转换
当前驱动器。
COPY 将⾄少⼀个⽂件复制到另⼀个位置。
DATE 显⽰或设置⽇期。
DEL 删除⾄少⼀个⽂件。
DIR 显⽰⼀个⽬录中的⽂件和⼦⽬录。
DISKCOMP ⽐较两个软盘的内容。
DISKCOPY 将⼀个软盘的内容复制到另⼀个软盘。DISKPART 显⽰或配置磁盘分区属性。
DOSKEY 编辑命令⾏、调⽤ Windows 命令并创建宏。DRIVERQUERY 显⽰当前设备驱动程序状态和属性。ECHO 显⽰消息,或将命令回显打开或关上。ENDLOCAL 结束批⽂件中环境更改的本地化。ERASE 删除⼀个或多个⽂件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC ⽐较两个⽂件或两个⽂件集并显⽰它们之间的不同。FIND 在⼀个或多个⽂件中搜索⼀个⽂本字符串。FINDSTR 在多个⽂件中搜索字符串。
FOR 为⼀套⽂件中的每个⽂件运⾏⼀个指定的命令。FORMAT 格式化磁盘,以便跟 Windows 使⽤。FSUTIL 显⽰或配置⽂件系统的属性。
FTYPE 显⽰或修改⽤在⽂件扩展名关联的⽂件类型。GOTO 将 Windows 命令解释程序指向批处理程序
中某个带标签的⾏。
GPRESULT 显⽰机器或⽤户的组策略信息。GRAFTABL 启⽤ Windows 在图形模式显⽰扩展字符集。HELP 提供 Windows 命令的帮助信息。
ICACLS 显⽰、修改、备份或还原⽂件和
⽬录的 ACL。
IF 在批处理程序中执⾏有条件的处理过程。
LABEL 创建、更改或删除磁盘的卷标。
MD 创建⼀个⽬录。
MKDIR 创建⼀个⽬录。
MKLINK 创建符号链接和硬链接
MODE 配置系统设备。
MORE 逐屏显⽰输出。
MOVE 将⼀个或多个⽂件从⼀个⽬录移动到另⼀个⽬录。OPENFILES 显⽰远程⽤户为了⽂件共享⽽打开的⽂件。PATH 为可执⾏⽂件显⽰或设置搜索路径。
PAUSE 停⽌批处理⽂件的处理并显⽰信息。
POPD 还原由 PUSHD 保存的当前⽬录上⼀次的值。PRINT 打印⼀个⽂本⽂件。
PROMPT 改变 Windows 命令提⽰。
PUSHD 保存当前⽬录,然后对其进⾏更改。
RD 删除⽬录。
RECOVER 从损坏的磁盘中恢复可读取的信息。
REM 记录批处理⽂件或 CONFIG.SYS 中的注释。
REN 重新命名⽂件。
RENAME 重新命名⽂件。
REPLACE 替换⽂件。
RMDIR 删除⽬录。
ROBOCOPY 复制⽂件和⽬录树的⾼级实⽤程序
SET 显⽰、设置或删除 Windows 环境变量。SETLOCAL 开始⽤批⽂件改变环境的本地化。
SC 显⽰或配置服务(后台处理)。
SCHTASKS 安排命令和程序在⼀部计算机上按计划运⾏。SHIFT 调整批处理⽂件中可替换参数的位置。SHUTDOWN 让机器在本地或远程正确关闭。
SORT 将输⼊排序。
START 打开单独视窗运⾏指定程序或命令。
SUBST 将驱动器号与路径关联。
SYSTEMINFO 显⽰机器的具体的属性和配置。TASKLIST 显⽰包括服务的所有当前运⾏的任务。TASKKILL 终⽌正在运⾏的进程或应⽤程序。
TIME 显⽰或设置系统时间。
TITLE 设置 CMD.EXE 会话的窗⼝标题。
TREE 以图形显⽰启动器或路径的⽬录结构。
TYPE 显⽰⽂本⽂件的内容。
VER 显⽰ Windows 的版本。
shell创建文件并写入内容VERIFY 告诉 Windows 验证⽂件是否正确写⼊磁盘。VOL 显⽰磁盘卷标和序列号。
XCOPY 复制⽂件和⽬录树。
>>> print(''.join(os.popen('help').readlines()[1:-2])) ASSOC 显⽰或修改⽂件扩展名关联。
ATTRIB 显⽰或更改⽂件属性。
BREAK 设置或清除扩展式 CTRL+C 检查。
BCDEDIT 设置启动数据库中的属性以控制启动加载。CACLS 显⽰或修改⽂件的访问控制列表(ACL)。
CALL 从另⼀个批处理程序调⽤这⼀个。
CD 显⽰当前⽬录的名称或将其更改。
CHCP 显⽰或设置活动代码页数。
CHDIR 显⽰当前⽬录的名称或将其更改。
CHKDSK 检查磁盘并显⽰状态报告。
CHKNTFS 显⽰或修改启动时间磁盘检查。
CLS 清除屏幕。
CMD 打开另⼀个 Windows 命令解释程序窗⼝。COLOR 设置默认控制台前景和背景颜⾊。
COMP ⽐较两个或两套⽂件的内容。
COMPACT 显⽰或更改 NTFS 分区上⽂件的压缩。CONVERT 将 FAT 卷转换成 NTFS。您不能转换
当前驱动器。
COPY 将⾄少⼀个⽂件复制到另⼀个位置。
DATE 显⽰或设置⽇期。
DEL 删除⾄少⼀个⽂件。
DIR 显⽰⼀个⽬录中的⽂件和⼦⽬录。
DISKCOMP ⽐较两个软盘的内容。
DISKCOPY 将⼀个软盘的内容复制到另⼀个软盘。DISKPART 显⽰或配置磁盘分区属性。
DOSKEY 编辑命令⾏、调⽤ Windows 命令并创建宏。DRIVERQUERY 显⽰当前设备驱动程序状态和属性。ECHO 显⽰消息,或将命令回显打开或关上。ENDLOCAL 结束批⽂件中环境更改的本地化。
ERASE 删除⼀个或多个⽂件。
EXIT 退出 CMD.EXE 程序(命令解释程序)。
FC ⽐较两个⽂件或两个⽂件集并显⽰它们之间的不同。FIND 在⼀个或多个⽂件中搜索⼀个⽂本字符串。FINDSTR 在多个⽂件中搜索字符串。
FOR 为⼀套⽂件中的每个⽂件运⾏⼀个指定的命令。FORMAT 格式化磁盘,以便跟 Windows 使⽤。FSUTIL 显⽰或配置⽂件系统的属性。
FTYPE 显⽰或修改⽤在⽂件扩展名关联的⽂件类型。GOTO 将 Windows 命令解释程序指向批处理程序
中某个带标签的⾏。
GPRESULT 显⽰机器或⽤户的组策略信息。GRAFTABL 启⽤ Windows 在图形模式显⽰扩展字符集。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论