cmd学习笔记
目录
用cmd调出任务管理器
- 在全屏下可以使用
shift + f10
调出cmd - 输入
taskmgr
调出任务管理器
for语句
for %var in (set) do commond
for %one in (1,2,3,4,5) do echo
-->1
-->2
-->3
-->4
-->5
- cmd的for语句和python中的使用方法类似
- for语句中用
%var
的格式表示变量,在for后第一个参数中表示。日后的使用也需要加%
使用 - in (set)表示集合,是需要for进行迭代的对象。
for %i in (*)
表示当前目录下的所有文件。
利用for语句完成批量分别压缩当前目录下的文件夹
for /r . %i in (.) do @echo %i >> t.txt && t.txt
##这一步生成目录文件名到文件t.txt
for /f "skip=1 delims=." %i in (t.txt) do @echo "%i" >> tar.txt
##处理上一步生成的t.txt,从中读取内容并略去第一行,将每一行加上“”后输出至tar.txt。加引号处理是因为7z命令行的要求
del t.txt
for /f "delims=" %i in (tar.txt) do 7z a %i %i
##利用处理后生产的tar.txt,再利用7z命令,将文件压缩。生成的是.7z,放在了各个文件夹中
ren/rename重命名
ren/rename TargetFileName Newname
- 第一个参数表示目标文件,第二个参数表示新字
*
表示匹配所有文件ren * *.7z
:将所有当前目录下文件重命名,将其后缀该做7z
7z命令行解压缩命令
7z e .\ -o.\ -pXXXXX -ssp
- e .\
直接解压压缩文件中的目录,不考虑其中的组织结构而直接使其平铺解压注意:不带-符号的需要空一格后输入参数;带-负号的不用加空格,直接写出参数
- x .\
解压并保持源文件中的目录结构
- -o.\
设定解压后文件的存放地址为当前目录
- -pXXXX
设置解压密码为XXXXX,-p后不用带空格
- -ssp
使解压后的文件不带空文件夹
- a ./
将当前目录下的文件设置为一个7z压缩文件
- -sdel
压缩完毕后删除文件
del/erase删除文件
del *.txt
表示删除后缀为.txt
的目录下文件
Anaconda
-
激活名为
name1
的环境:[conda] activate name1
-
退出当前环境:
conda deactivate [name1]
-
查看环境及其解释器位置:
-
conda info --env
-
activate envName where python
-
-
查看某个包/方法的位置
import packName as pk print(pk.__file__)#输出某个包所在的位置,所在位置下可能有example.py,其中包含了示例 print(pk.__methodName__)#输出某个方法所在的位置
gnu(g++)的使用
-
编译
.cpp
文件:g++ -option FileName
编译完成后会生成
.exe文件
-
调整输出文件名:
g++ -o Name
命令行打开vs code
将X:\Microsoft VS Code\bin
添加到系统变量path
中
在cmd中输入code [fileName]
用命令行新建一个文件
cd.>fileName.fileType
输出重定向符号
echo hi there > a.txt
上面的命令总共完成了两步操作
1. 在命令行显示`hi there`
1. 将命令行输出的内容改变输出地点,改至`./a.txt`中。既先创建`./a.txt`,再将命令行输出放入其中。
如果只是想将内容添加至文件,可以使用下列命令
echo hi there again! >> a.txt
既>>
会将输出方法改变为追加,而>
则为覆盖。
否则命令:||
||
前后都是命令,
- 当
||
前的命令出错后才会执行||
后的命令 - 若
||
前的命令正确执行则不会执行||
后的命令
常用正则表达式
[a-z]
:表示匹配一个小写字符,同理[A-Z]
表示匹配一个大写字符[abcd]
:表示匹配a、b、c、d中的一个字符一次^abcd
:表示匹配非a、b、c、d的字符一次.
:表示匹配任意一个字符*n
:结合规律使用,表示该规则重复匹配n次{n}
:重复匹配该规律n次{n, m}
:重复n到m次
右键选项的注册表位置
- 'win + r'打开搜索框
- 在框内输入
regedit
- 对应目标在
\HKEY_CLASSES_ROOT\Directory\Background\shell
修改右键打开注册表
- 复制下列这段内容
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="cmd here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Windows\\System32\\cmd.exe s k pushd %V"
- 将改内容存在txt文本中,之后将后缀改作
.reg
(名称随意) - 双击运行该文件即可
添加、删除win右键菜单-新建选项中的多余项
删除
- 点击右键,选择新建菜单,选择要删除的项目,点击。
- 查看欲删除的项目的后缀名
- 打开
regedit
,搜索上一项找到的后缀名。以.doc
为例,按下ctrl + f
,搜索.doc
- 在打开的项目中找到项
ShellNew
,重命名或删除之即可
添加
- 打开注册表编辑器
- 移动至项下列项
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew
- 在项
class
中添加的新的后缀名。这里以.md
为例 - 前往注册表目录
\HKEY_CLASSES_ROOT
,并按ctrl + f
找到先前添加的后缀名,如输入.md
- 在该项中添加新子项
ShellNew
- 继续在
ShellNew
中添加子项NullFile
,修改该子项的值为.md
获取cmd下的所有命令
@ECHO OFF
REM.-- Prepare the Command Processor
SETLOCAL ENABLEEXTENSIONS
REM --
REM -- Copyright note
REM -- This script is provided as is. No waranty is made, whatso ever.
REM -- You may use and modify the script as you like, but keep the version history with
REM -- recognition to http://www.dostips.com in it.
REM --
REM Version History:
REM XX.XXX YYYYMMDD Author Description
SET "version=01.000" &:20051201 p.h. initial version, origin http://www.dostips.com
SET "version=01.001" &:20060122 p.h. Fix missing exclamation marks in documentation (http://www.dostips.com)
SET "version=01.002" &:20060218 p.h. replaced TEXTAREA with PRE XMP (http://www.dostips.com)
SET "version=01.003" &:20060218 p.h. php embedding (http://www.dostips.com)
SET "version=01.004" &:20060723 p.h. fix page links for FireFox (http://www.dostips.com)
SET "version=01.005" &:20061015 p.h. invoke HELP via '"call" help', allows overriding help command with a help.bat file (http://www.dostips.com)
SET "version=01.006" &:20061015 p.h. cleanup progress indicator (http://www.dostips.com)
SET "version=01.007" &:20080316 p.h. use codepage 1252 to support european users (http://www.dostips.com)
SET "version=02.000" &:20080316 p.h. use FOR command to generate HTML, avoids most escape characters (http://www.dostips.com)
SET "version=02.000" &:20100201 p.h. now using css and xhtml
REM !! For a new version entry, copy the last entry down and modify Date, Author and Description
SET "version=%version: =%"
for /f "delims=: tokens=2" %%a in ('chcp') do set "restore_codepage=%%a"
chcp 1252>NUL
set "z=%~dpn0.htm"
rem echo.^<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"^> >"%z%"
echo.^<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"^> >"%z%"
set "title=DOS Command Index"
for /f "tokens=*" %%a in ('ver') do set "winver=%%a"
echo.Creating the header ...
for %%A in (
"<html lang='en-US' xml:lang='en-US' xmlns='http://www.w3.org/1999/xhtml'>"
"<head>"
"<style type='text/css'>"
" h1 {text-align:center;}"
" h2 {text-align:center;}"
" table.center {margin-left: auto;margin-right: auto;}"
" td {text-align:left;}"
" div.center {text-align:center;}"
" div.sourcebatch {background: #DDDDDD;}"
" div.helptext {background: #F8F8FF;}"
" div.top {float: right;}"
"</style>"
"<title>%title%</title>"
"<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1' />"
"</head>"
"<body bgcolor='#FFFFCC'>"
"<font color='darkblue'>"
"<h1>%title%</h1>"
"<div class='center'>"
"<table class='center' border='1' cellspacing='1' cellpadding='3'>"
" <tr><td>Windows Version</td><td>:</td><td>%winver%</td></tr>"
" <tr><td>Document Source</td><td>:</td><td>"
" <b>http://www.dostips.com<br />"
" <b>http://www.dostips.com/%~nx0.php"
" </td></tr>"
" <tr><td>Created by</td><td>:</td><td>"
" %~nx0<br />Source Code below</td></tr>"
"</table>"
"</div>"
"<br /><br />"
"<table class='center'>"
) do echo.%%~A>>"%z%"
echo.Creating the index ...
set /a cnt=0
for /f "tokens=1,*" %%a in ('"help|findstr /v /b /c:" " /c:"For more""') do (
for %%A in (
" <tr><td>%%a</td><td>%%b</td></tr>"
) do echo.%%~A>>"%z%"
set /a cnt+=1
)
for %%A in (
"</table>"
"<br /><br />"
) do echo.%%~A>>"%z%"
echo.Extracting HELP text ...
call:initProgress cnt
for /f %%a in ('"help|findstr /v /b /c:" " /c:"For more""') do (
echo.Processing %%a
for %%A in (
"<div class='top'>TOP</div>"
"<h2>%%a</h2>"
"<div class='helptext'><pre><xmp>"
) do echo.%%~A>>"%z%"
call help %%a >>"%z%" 2>&1
echo (</xmp)> >>"%z%"
for %%A in (
"</pre></div>"
) do echo.%%~A>>"%z%"
call:tickProgress
)
echo.Injecting source script ...
for %%A in (
""
"<br /><br />"
"<div class='center'>"
"<div class='top'>TOP</div>"
"<h2>DOS Batch Script Source that created this Document</h2>"
"This %title% has been created automatically by the following DOS batch script:"
"<br /><br />"
"</div>"
"<div class='sourcebatch'><pre><xmp>"
) do echo.%%~A>>"%z%"
type "%~f0" >>"%z%"
echo.Creating the footer ...
echo (</xmp)> >>"%z%"
for %%A in (
"</pre></div>"
""
"</font>"
"</body>"
"</html>"
) do echo.%%~A>>"%z%"
chcp %restore_codepage%>NUL
explorer "%z%"
:SKIP
REM.-- End of application
FOR /l %%a in (5,-1,1) do (TITLE %title% -- closing in %%as&ping -n 2 -w 1 127.0.0.1>NUL)
TITLE Press any key to close the application&ECHO.&GOTO:EOF
::-----------------------------------------------------------
::helper functions follow below here
::-----------------------------------------------------------
:initProgress -- initialize an internal progress counter and display the progress in percent
:: -- %~1: in - progress counter maximum, equal to 100 percent
:: -- %~2: in - title string formatter, default is '[P] completed.'
set /a "ProgressCnt=-1"
set /a "ProgressMax=%~1"
set "ProgressFormat=%~2"
if "%ProgressFormat%"=="" set "ProgressFormat=[PPPP]"
set "ProgressFormat=%ProgressFormat:[PPPP]=[P] completed.%"
call :tickProgress
GOTO:EOF
:tickProgress -- display the next progress tick
set /a "ProgressCnt+=1"
SETLOCAL
set /a "per=100*ProgressCnt/ProgressMax"
set "per=%per%%%"
call title %%ProgressFormat:[P]=%per%%%
GOTO:EOF