cmd命令与环境变量生效

环境变量生效

以修改环境变量“PATH”为例,修改完成后,进入DOS命令提示符,输入:set PATH=C:,关闭DOS窗口。再次打开DOS窗口,输入:echo %PATH%,可以发现“我的电脑”->“属性”->“高级”->“环境变量”中设置的 PATH 值已经生效。

若是在powershell中,需要使用$env:path或者(type env:path) -split ';'查看环境变量。另外,更改完环境变量,只需要重启windows terminal即可。

windows查看端口占用

1
2
# 查看被占用端口对应的 PID
netstat -aon|findstr "8081"

windows查看端口开启

用管理员方式打开cmd,使用DOS指令安装telnet客户端。

1
Dism /Online /Enable-Feature /FeatureName:TelnetClient

然后查看端口是否开启

1
telnet ip port

Anaconda环境变量

此电脑->右键选择属性->高级系统设置->环境变量->系统变量->path添加anaconda的安装路径。即可在任意终端中打开python

出现“conda 不是内部命令”的情况,则需要将anaconda安装目录下的Scripts也加入到系统变量中,步骤同上,就可以解决

切换工作路径

1
2
CD [/D] [drive:][path]
cd /d e:\myjava

当输入“cd ”后,按下“Tab”键,会滚动出现当前目录下的所有文件,每按一次“Tab”键,切换一次。当输入目录的一个或几个首字母后,按下“Tab”键,同样会自动显示以输入字母为文件名的所有文件。

关机与重启

1
2
shutdown -s -t 3600 // 其中"3600"为离关机的时间秒数,运行 "shutdown -a"取消定时关机! 
shutdown -r -t 5 // “-r”表示restart,重启;“-t”表示time,重启操作执行前等待的时间,秒为单位。该命令表示5秒后计算机将重新启动,可以自行修改时间,0表示马上执行重启操作;

终端开启远程桌面

Enable remote desktop from CMD:

1
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Disable remote desktop from CMD:

1
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f

Enable Remote assistance:

1
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f

查找与杀死进程

1
2
3
4
5
6
7
8
# 查看指定 PID 9088的进程
tasklist|findstr "9088"

# 查看python进程
tasklist|findstr python

# 强制(/F参数)杀死 pid 为 9088 的所有进程包括子进程(/T参数):
taskkill /T /F /PID 9088

Windows服务管理

开始菜单的“搜索程序和文件”栏里输入“services.msc”或“服务”,即可搜索到“服务”项,点击之后就可以打开服务管理列表窗口。

双击任意一个服务即可查看或修改它的属性,在属性窗口中就可以修改启动类型为“手动”、“自动”、“自动(延时启动)”或“禁用”。

  • “自动”启动是指电脑启动时同时加载该服务项,以便支持其他在此服务基础上运行的程序。
  • 而“自动(延时启动)”则是Windows当中非常人性化的一个设计。采用这种方式启动,可以在系统启动一段时间后延迟启动该服务项,可以很好地解决一些低配置电脑因为加载服务项过多导致电脑启动缓慢或启动后响应慢的问题。
  • “手动”模式,顾名思义就是这种服务不会随着系统的启动而加载,而需要其他服务激活或者由用户进入服务管理界面后,手动启动它或者修改其属性为“自动”启动。服务启动状态为“手动”的情况下,该进程虽然关闭,但依然可以在特定情况下被激活。
  • 设置为“禁用”后,除非用户手动修改属性,否则服务将无法运行。

Windows Terminal

禁用多行粘贴警告

  1. 点击小箭头图标在菜单中选择 “设置”->打开JSON文件。
  2. 在弹出的 settings.json 文件编辑中增加multiLinePasteWarning配置即可:
1
2
3
4
5
6
{
"$help": "https://aka.ms/terminal-documentation",
"$schema": "https://aka.ms/terminal-profiles-schema",
"multiLinePasteWarning": false,
...
}

添加 Git-Bash 支持

通过如下方式添加即可:

  1. 点击小箭头图标在菜单中选择 “设置”->打开JSON文件。
  2. 在弹出的 settings.json 文件编辑中增加如下配置即可,注意要根据git的实际安装路径更改。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
...
"profiles": {
...
"list": [
...,
{
"hidden": false,
"name": "Git Bash",
"commandline" : "%ProgramFiles%/Git/bin/bash.exe -li",
"icon" : "%ProgramFiles%/Git/mingw64/share/git/git-for-windows.ico",
"startingDirectory" : "%USERPROFILE%"
},
]
}
}

批处理bat实现创建、复制、删除文件及文件夹

建bat文件自动执行复制,删除命令。

例1:以下是复制cd.dll文件至windows\system32的bat文件内容:
copy cd.dll %windir%\system32

例2:下面一行是卸载windows\system32目录中的cd.dll,即把上面复制的文件删除:
del %windir%\system32\cd.dll

3:删除download文件夹中的文件,例子如下:
del C:\DOWNLOAD*.*
[注意]:这里的del命令只能删文件,不能删文件夹。要删除文件夹得用rd命令,如下:
rd Filemon
这里filemon文件夹和该bat文件在同一目录下,就省去具体路径了。但rd只能删除空文件夹.
要删除文件夹及其里面的所有子目录和文件,用rd命令带/s /q参数,
/s参数表示删除该文件夹及其下面的子目录和文件
/q参数表示,不需要确认

创建文件夹

例:在E:\My documents下面一次创建3个新文件夹:Newfolder1,Newfolder2,Newfolder3
@echo off
md “E:\My documents\Newfolder1”
md “E:\My documents\Newfolder2”
md “E:\My documents\Newfolder3”

执行程序,打开文件或目录

例1:打开指定目录,如C:\Test
start C:\Test
例2:执行C盘下的WinWord.exe程序
start C:\WinWord.exe
例3:用某个程序打开某个文件,如用TheWorld.exe打开一个htm文件
start d:\TheWorld\TheWorld.EXE C:\我有一个恋爱.htm
[注意]:不论是程序或文件路径中含有空格,都必须用引号括起来:
start d:\TheWorld\TheWorld.EXE “e:\My documents\我有一个恋爱.htm”
所有程序中的引号不能是全角的,必须用半角的格式,所以输入引号前最好关闭汉字输入系统

拷贝文件夹 XCOPY

XCOPY命令可用于复制文件和目录,包括子目录。 其功能多数是通过增加参数来实现的。
XCOPY source [destination] 参数(如 /s /e)
source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/A 只复制有存档属姓集的文件,
但不改变属姓。
/M 只复制有存档属姓集的文件,
并关闭存档属姓。
/D:m-d-y 复制在指定日期或指定日期以后改变的文件。
如果没有提供日期,只复制那些源时间
比目标时间新的文件。
/EXCLUDE:file1[+file2][+file3]…
指定含有字符串的文件列表。如果有任何
字符串与要被复制的文件的绝对路径
相符,那个文件将不会得到复制。
例如,指定如 \obj\ 或 .obj 的字符串会排除
目录 obj 下面的所有文件或带有
.obj 扩展名的文件。
/P 创建每个目标文件前提示。
/S 复制目录和子目录,除了空的。
/E 复制目录和子目录,包括空的。
与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件。
/W 提示您在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,又在复制一个以上的文件,
则假定目标一定是一个目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源和目标文件名。
/L 显示要复制的文件。
/G 允许将没有经过加密的文件复制到
不支持加密的目标。
/H 也复制隐藏和系统文件。
/R 改写只读文件。
/T 创建目录结构,但不复制文件。不
包括空目录或子目录。/T /E 包括
空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属姓。一般的 Xcopy 会重设只读属姓。
/N 用生成的短名复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 禁止提示以确认改写一个
现存目标文件。
/-Y 导致提示以确认改写一个
现存目标文件。
/Z 用重新启动模式复制网络文件。

参考

windows7 命令行关机/重启
windows 下,根据 pid 杀死进程
Enable remote desktop from command line (CMD)
Windows下如何查看某个端口被谁占用
Windows Terminal 添加 Git-Bash 支持
禁止windows terminal的多行粘贴告警

------ 本文结束------
坚持原创技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道