cmd学习笔记

用cmd调出任务管理器

  1. 在全屏下可以使用shift + f10调出cmd
  2. 输入taskmgr调出任务管理器

for语句

  • for %var in (set) do commond
for %one in (1,2,3,4,5) do echo
-->1
-->2
-->3
-->4
-->5
  1. cmd的for语句和python中的使用方法类似
  2. for语句中用%var的格式表示变量,在for后第一个参数中表示。日后的使用也需要加%使用
  3. 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
  1. 第一个参数表示目标文件,第二个参数表示新字
  2. *表示匹配所有文件
    • ren * *.7z:将所有当前目录下文件重命名,将其后缀该做7z

7z命令行解压缩命令

  • 7z e .\ -o.\ -pXXXXX -ssp
  1. e .\

​ 直接解压压缩文件中的目录,不考虑其中的组织结构而直接使其平铺解压注意:不带-符号的需要空一格后输入参数;带-负号的不用加空格,直接写出参数

  1. x .\

​ 解压并保持源文件中的目录结构

  1. -o.\

​ 设定解压后文件的存放地址为当前目录

  1. -pXXXX

​ 设置解压密码为XXXXX,-p后不用带空格

  1. -ssp

​ 使解压后的文件不带空文件夹

  1. a ./

​ 将当前目录下的文件设置为一个7z压缩文件

  1. -sdel

​ 压缩完毕后删除文件

del/erase删除文件

del *.txt表示删除后缀为.txt的目录下文件

Anaconda

  1. 激活名为name1的环境:[conda] activate name1

  2. 退出当前环境:conda deactivate [name1]

  3. 查看环境及其解释器位置:

    • conda info --env

    •   activate envName
        where python
      
  4. 查看某个包/方法的位置

    import packName as pk
    print(pk.__file__)#输出某个包所在的位置,所在位置下可能有example.py,其中包含了示例
    print(pk.__methodName__)#输出某个方法所在的位置
    

gnu(g++)的使用

  1. 编译.cpp文件:g++ -option FileName

    编译完成后会生成.exe文件

  2. 调整输出文件名: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		

>>会将输出方法改变为追加,而>则为覆盖。

否则命令:||

||前后都是命令,

  • ||前的命令出错后才会执行||后的命令
  • ||前的命令正确执行则不会执行||后的命令

常用正则表达式

  1. [a-z]:表示匹配一个小写字符,同理[A-Z]表示匹配一个大写字符
  2. [abcd]:表示匹配a、b、c、d中的一个字符一次
  3. ^abcd:表示匹配非a、b、c、d的字符一次
  4. .:表示匹配任意一个字符
  5. *n:结合规律使用,表示该规则重复匹配n次
  6. {n}:重复匹配该规律n次
  7. {n, m}:重复n到m次

右键选项的注册表位置

  1. 'win + r'打开搜索框
  2. 在框内输入regedit
  3. 对应目标在\HKEY_CLASSES_ROOT\Directory\Background\shell

修改右键打开注册表

  1. 复制下列这段内容
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"
  1. 将改内容存在txt文本中,之后将后缀改作.reg(名称随意)
  2. 双击运行该文件即可

添加、删除win右键菜单-新建选项中的多余项

删除

  1. 点击右键,选择新建菜单,选择要删除的项目,点击。
  2. 查看欲删除的项目的后缀名
  3. 打开regedit,搜索上一项找到的后缀名。以.doc为例,按下ctrl + f,搜索.doc
  4. 在打开的项目中找到项ShellNew,重命名或删除之即可

添加

  1. 打开注册表编辑器
  2. 移动至项下列项

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew

  1. 在项class中添加的新的后缀名。这里以.md为例
  2. 前往注册表目录\HKEY_CLASSES_ROOT,并按ctrl + f找到先前添加的后缀名,如输入.md
  3. 在该项中添加新子项ShellNew
  4. 继续在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
posted @ 2022-08-13 09:56  dysonkkk  阅读(124)  评论(0编辑  收藏  举报