天天看点

高手必备的Windows Shell 常用命令

前言

出于一些公司web前端项目部署的要求,每次发布web项目的时候都要做一些繁琐的打包工作,导致发布效率比较低,又容易出错。所以就研究了一些系统脚本,让前端部署更加方便,快捷。

公司部署项目并没有使用一些持续集成工具(如:jenkins,TeamCity),只能手动上传。

公司web前端项目是基于nodejs构建的,但是打包并部署生产环境不是一句npm build就完事了,还有很多步骤去做。

常用的脚本命令

打印显示。

:: 格式:echo [文本]
echo 你好           

检查本机与外界是否连接状态。

:: 格式:ping [ip地址/域名]
ping 192.168.0.102
ping baidu.com           

检查主机经过路由节点与网络延时情况。

:: 格式:tracert [选项] [ip地址/域名] 
tracert -d baidu.com           

解决本机端口占用问题。

:: 查看端口号   
:: 格式:netstat netstat –ano|findstr [端口号]
netstat netstat –ano|findstr 80  :: 关闭端口号上的PID   
:: 格式:taskkill /pid [pid号] -t -f
taskkill /pid 2314 -t -f           

查看本地的ip地址。

:: 查看本地ip配置。 
ipconfig           

解决访问网页缓慢或错误页面。

:: 更新DNS缓存 
ipconfig /flushdns           

检查DNS是否正常。

:: 查询DNS域名和IP地址 
:: 格式:nslookup [域名] [dns服务器](可选)
nslookup 163.com 
nslookup 163.com 8.8.8.8           

目录操作。

:: 切换目录  
:: 格式:[盘名]:
D:

:: 返回上一级目录 
cd ..

:: 进入某个目录 
:: cd [目录名]
cd folder           

文件/文件夹重命名。

:: 格式:ren [路径][原文件/文件夹名] [新文件/文件夹名]
:: 格式:rename [路径][原文件/文件夹名] [新文件/文件夹名]
ren .\text docs
rename .\text docs           

文件/文件夹复制。

:: 格式:xcopy [路径][原文件/文件夹名] [新文件/文件夹名]
xcopy .\text .\docs           

文件/文件夹移除。

:: 格式:rd [路径][原文件/文件夹名] [新文件/文件夹名] [选项](可选)
:: 格式:rmdir [路径][原文件/文件夹名] [新文件/文件夹名] [选项](可选) 
rd .\text .\docs /s/q
rmdir .\text .\docs /s/q           

查找文本。

:: 格式:find [选项](可选) [是否跳过脱机属性文件](可选) [关键字] [路径][原文件/文件夹名]
find "日期" 我的文件.doc           

导出目录结构图。

:: 查看目录结构
tree

:: 导出目录结构    
:: 格式:tree /f [文件名]
tree /f>folderTree.txt           

列出所有文件夹。

:: 查看当前所有文件
dir

:: 查看指定路径下文件类型是zip的文件
:: 格式:dir [路径][文件名](可选)[选项](可选)
dir d:\*.zip /b           

打开“控制面板”。

:: 打开“控制面板”
control           

打开host文件。

:: 使用记事本打开host   
:: 格式:notepad [文件路径]
notepad "%systemroot%/system32/drivers/etc/hosts"           

打开“服务“。

:: 打开“服务”
services.msc           

打开“注册表”。

:: 打开“注册表”
regedit           

清除所有控制台的信息。

:: 清除所有cmd信息
cls           

打开远程桌面。

:: 快速打开远程桌面
mstsc           

常用脚本片段

判断文件/文件夹是否存在。

if not exist .\text (
  echo text文件已存在。
) else (
  echo text文件不存在。
)           

设置值。

:: 格式:set [变量]=[值(字符串)]
:: 格式:set /p [变量]=[提示语]
set filetype=txt
set /p selOptions=请输入选项:1.build 并打包自动上传。 2.退出。

:: 设置环境变量
set PATH=C:\Program Files\java\jdk1.8.0_91           

常用编程技巧

关闭所有命令回显。(意思是不需要显示执行命令后提示语)

@echo off           

设置脚本文件编码为utf-8。

CHCP 65001           

使用管道命令。

:: [命令1] | [命令2]
dir | find ".txt"           

常用操作技巧

  • 查找 Shell 之前输入命令。

使用“↑”“↓”方向键。

  • 复制 Shell 控制台选中的内容。
  1. 在cmd.exe标题栏,鼠标右键 -“属性”-“选项”标签 - 勾选“快速编辑模式”。

2. 在 Shell 控制台选中文本内容,鼠标右键即可复制选中内容。

  • 在 Shell 快速输入文件路径。

使用鼠标拖拽文件到 Shell 控制台,即可输入文件路径。

  • 在指定目录打开 Shell 控制台。

方法一:在“文件管理器”地址栏直接输入“cmd”/ "PowerShell" ,即可打开指定目录的Shell 控制台。

方法二:选中指定目录,按住Shift键+鼠标右键 - “在此处打开命令窗口“,即可打开指定目录的Shell 控制台。

命令行中的选项参数,请参考Windows Shell命令官方文档。

不是我不想用Windows Power Shell语法编写脚本,而是我感觉Windows Power Shell运行起来比较慢些(启动速度是个硬伤)。