CMD
介绍
CMD 是 Windows 操作系统中的命令提示符 (Command Prompt) 程序, 它是一种命令行工具, 可以让用户通过键入命令来与计算机进行交互.
DOS: disk operating system, 磁盘操作系统. 是利用命令行来操作计算机.
DOS 不是 CMD.
1981 年微软和 IBM 出品的 MS-DOS 操作系统中的命令才叫做 DOS 命令.
而在 Windows 中, Win98 之前的操作系统是以非图形化的 DOS 为基础的, 可以叫做 DOS 命令. 到了 2000 年以后, Windows 逐渐以图形化界面为主了, 这个时候就不能叫 DOS 命令了, 只是模拟了 DOS 环境而已, 很多原本的 DOS 命令已经无法使用, 所以这个时候叫做 CMD 命令会更准确一些.
CMD 默认操作 C 盘下的 Users 文件夹下的 XXX 文件夹. (Users 文件夹就是用户文件夹, XXX 就是计算机名)

常用操作
输入部分内容后按下 Tab 键可以快速自动补全. 如果当前补全的内容不是想要的, 可以继续按 Tab 切换到想要的内容.
按住 Ctrl 键可以用鼠标滚轮改变字号大小.
CMD 环境不区分大小写.
盘符目录也叫根目录或驱动器.
在 CMD 中打开某个文件时, 需要带上后缀名.

常用命令
dir: 查看当前目录的内容. 会显示隐藏的文件和文件夹.
dir + 目录: 查看某个目录下的内容. 会显示隐藏的文件和文件夹.
cd + 目录: 进入单级目录.
cd + 目录1\目录2\...: 进入多级目录.
cd ..: 回退到上一级目录.
cd / 或 cd \: 直接回退到盘符目录.
盘符 + 冒号: 切换盘符. 如图:

help + 命令: 查看某个命令的帮助.
cls: 清屏.
exit: 退出 CMD 窗口.
md + 目录1 + 目录2 + ...: 新建一个文件夹, 可以一次性创建多个文件夹.
mkdir 命令也可以新建文件夹.

效果:

rd + 目录1 + 目录2 + ...: 删除一个文件夹, 可以一次性删除多个文件夹.

rmdir /s /q 也可以删除目录, 而且可以删除非空目录. /s: 递归删除指定目录及其所有子目录和文件. /q: 静默模式, 无需用户确认.

tree + 目录: 显示某一个目录下的所有子目录.
tree: 显示当前目录下的所有子目录.
copy: 拷贝文件.
copy 命令可以用来拷贝文件夹中的所有文件到另一个目标文件夹. 例如, 要将 d:\src 文件夹中的所有文件拷贝到 d:\dst 文件夹, 可以使用以下命令:
copy d:\src\*.* d:\dst
使用 xcopy 命令可以拷贝文件夹及其子目录.
xcopy 命令是 copy 命令的扩展, 它不仅可以拷贝文件夹中的文件, 还可以连同文件夹结构一起拷贝. 使用 xcopy 命令时, 可以通过不同的参数来控制拷贝的细节. 例如, 要将 d:\src 文件夹及其所有子目录和文件拷贝到 d:\dst 文件夹, 可以使用以下命令:
xcopy d:\src\* d:\dst\ /s /e /y
其中, /s 参数表示拷贝目录和子目录 (除了空的), /e 参数表示包括空目录, /y 参数表示在拷贝过程中不提示覆盖现有的目标文件.
注意事项:
-
使用 xcopy 命令时, 如果文件夹名称中包含空格或长度超过 8 个字符, 需要在路径两边加上引号.
-
xcopy 命令不会拷贝已经打开的文件.
-
在拷贝过程中, xcopy 命令不会显示进度或完成信息.
type nul: 新建空白文件.

效果:

del: 删除文件.

删除了所有的文件, /q 表示不进行询问是否删除, 直接删除.

只能影响到 D:\TestCMD\test1\ 这个目录下的内容, 不影响子文件夹下的内容.

带了 /s 参数后, 将子文件内的东西也全部删除了, 但是子文件夹依然存在.
move: 剪切文件.
pause: 暂停.
REM: 注释. 在某一行命令前面加上 REM, 则该行被注释掉而不会执行.
timeout: 延时等待.
timeout /t 5
表示等待 5 秒, 在这个过程中, 按下任意键将会不再等待而是继续往下执行.
timeout /t 5 /nobreak
在等待 5 秒的过程中, 忽略键盘按键, 除非是 Ctrl + C, 如果按下 Ctrl + C, 可以结束等待且后续命令也将不会被执行, 整个 bat 脚本将运行结束.
在 CMD 窗口运行 Java 程序
先切换到源文件所在路径.
在 CMD 窗口执行如下的命令, 先将 Java 源文件 xxx.java 编译为字节码文件 xxx.class:
javac xxx.java
在 CMD 窗口执行如下命令来运行字节码文件:
java xxx
例如:

用 javac 命令编译源文件时要带上后缀名, 其中 c 代表 compile.
编译得到后缀名为 .class 的文件. 这是一个字节码文件, 它不能直接被计算机执行, 需要用解释器解释执行.
用 java 命令执行 .class 文件时不能带后缀名, 可以得到程序的结果. 这是把 .class 文件装载到 JVM 中去执行.
java 命令启动 JVM, JVM 可以执行编译工具 javac 编译得到的字节码文件.
每一个 .class 文件的基本名都对应着源文件中的一个类名. 如果一个文件有 n 个类, 那么编译该文件就会产生 n 个 .class 文件.
javac.exe 是编译工具, java.exe 是运行工具.
java + 类名 的格式是指定运行某一个已编译好的字节码文件, 此时 JVM 总是从指定的类中的 main() 方法开始执行. 因此, 为了能够执行代码, 类的源代码中必须包含一个 main() 方法.
不包含 main() 方法的类, 比如 Javabean 类, 其编译得到的字节码文件, 是不能被 java 命令指定执行的. 所以可以认为每一个 Java 应用都应该有一个 main() 方法, 主类中的 main() 方法是执行的入口.
在 Java 1.4 及之后的版本中, 根据 Java 语言规范, main() 方法必须被声明为 public 的.

浙公网安备 33010602011771号