文件目录操作:
cd 切换目录
- 例:cd // 显示当前目录
- 例:cd … // 进入父目录
- 例:cd /d d: // 进入上次d盘所在的目录(或在直接输入:d:)
- 例:cd /d d: // 进入d盘根目录
- 例:cd d: // 显示上次d盘所在的目录
- 例:cd /d d:src // 进入d:src目录
- 例:cd prjsrcview // 进入当前目录下的prjsrcview文件夹
pushd popd 使用栈来维护当前目录
- md d:mp3 // 在D:建立mp3文件夹
- md d:mp4 // 在D:建立mp4文件夹
- cd /d d:mp4 // 更改当前目录为d:mp4
- pushd c:mp3 // 将当前目录d:mp4入栈,并切换当前目录为c:mp3
- popd // 将刚才保存的d:mp4弹栈,并设置为当前目录
dir 显示目录中的内容
- 例:dir // 显示当前目录中的子文件夹与文件
- 例:dir /b // 只显示当前目录中的子文件夹与文件的文件名
- 例:dir /p // 分页显示当前目录中的子文件夹与文件
- 例:dir /ad // 显示当前目录中的子文件夹
- 例:dir /a-d // 显示当前目录中的文件
- 例:dir c: est // 显示c: est目录中的内容
- 例:dir keys.txt // 显示当前目录中keys.txt的信息
- 例:dir /S // 递归显示当前目录中的内容
- 例:dir key* // 显示当前目录下以key开头的文件和文件夹的信息
- 例:dir /AH /OS // 只显示当前目录中隐藏的文件和目录,并按照文件大小从小到大排序
tree 显示目录结构
- 例:tree d:myfiles // 显示d:myfiles目录结构
ren 文件或目录重命名
- 例:ren rec.txt rec.ini // 将当前目录下的rec.txt文件重命名为rec.ini
- 例:ren c: est test_01 // 将c盘下的test文件夹重命名为test_01
- 例:ren Logs.txt Logs-%date:0,4%%date:5,2%%date:8,2%_%time:0,2%%time:~3,2%.txt // 将当前目录下的Logs.txt文件重命名为Logs-20150114_2135.txt或Logs-20150114_ 812.txt(注意:小时只有个位数时会多一个空格,可以使用字符串替换:将空格替换成0)
md 创建目录
- 例:md movie music // 在当前目录中创建名为movie和music的文件夹
- 例:md d: estmovie // 创建d: estmovie目录
rd 删除目录
- 例:rd movie // 删除当前目录下的movie空文件夹
- 例:rd /s /q d: est // 使用安静模式删除d: est(除目录本身外,还将删除指定目录下的所有子目录和文件)
copy 拷贝文件
- 例:copy key.txt c:doc // 将当前目录下的key.txt拷贝到c:doc下(若doc中也存在一个key.txt文件,会询问是否覆盖)
- 例:copy jobs c:doc // 将当前目录下jobs文件夹中文件(不递归子目录)拷贝到c:doc下(若doc中也存在相应的文件,会询问是否覆盖)
- 例:copy key.txt c:dockey_bak.txt // 将当前目录下的key.txt拷贝到c:doc下,并重命名为key_bak.txt(若doc中也存在一个key_bak.txt文件,会询问是否覆盖)
- 例:copy /Y key.txt c:doc // 将当前目录下的key.txt拷贝到c:doc下(不询问,直接覆盖写)
- 例:copy key.txt + // 复制文件到自己,实际上是修改了文件日期
- 例:copy /Y key1.txt + key2.txt key.txt // 将当前目录下的key1.txt与key2.txt的内容合并写入key.txt中(不询问,直接覆盖写)
- 例:copy /B art_2.7z.* art_2.7z // 将当前目录下的art_2.7z.开头的所有文件(按照名称升序排序)依次合并生成art_2.7z
- 例:copy /B art_2.7z.001+art_2.7z.002 art_2.7z // 将当前目录下的art_2.7z.001、art_2.7z.002文件合并生成art_2.7z
xcopy 更强大的复制命令
- 例:xcopy c:athai d:hello /s /h /e /f /c // 将c:athai中的所有内容拷贝到d:hello中 注意:需要在hello后加上 表示hello为一个目录,否则xcopy会询问hello是F,还是D
- 例:xcopy c:athai d:hello /d:12-29-2010 // 将c:athai中的2010年12月29日后更改的文件拷贝到d:hello中
move 移动文件
- 例:move *.png test // 将当前目录下的png图片移动到当前目录下test文件夹中 (若test中也存在同名的png图片,会询问是否覆盖)
- 例:move /Y *.png test // 将当前目录下的png图片移动到当前目录下test文件夹中 (不询问,直接覆盖写)
- 例:move 1.png d: est2.png // 将当前目录下的1.png移动到d盘test文件夹中,并重命名为2.png (若test中也存在同名的png图片,会询问是否覆盖)
- 例:move test d: ew // 若d盘中存在new文件夹,将当前目录下的test文件夹移动到d盘new文件夹中;若不存在,将当前目录下的test文件夹移动到d盘,并重命名为new
del 删除文件 注意:目录及子目录都不会删除
- 例:del test // 删除当前目录下的test文件夹中的所有非只读文件(子目录下的文件不删除;删除前会进行确认;等价于del test*)
- 例:del /f test // 删除当前目录下的test文件夹中的所有文件(含只读文件;子目录下的文件不删除;删除前会进行确认;等价于del /f test*)
- 例:del /f /s /q test d: est2*.doc // 删除当前目录下的test文件夹中所有文件及d: est2中所有doc文件(含只读文件;递归子目录下的文件;删除前不确认)
++++++++++++++++++++++
/ar、/ah、/as、/aa 分别表示删除只读、隐藏、系统、存档文件
/a-r、/a-h、/a-s、/a-a 分别表示删除除只读、隐藏、系统、存档以外的文件
++++++++++++++++++++++
- 例:del /ar . // 删除当前目录下所有只读文件
- 例:del /a-s . // 删除当前目录下除系统文件以外的所有文件
replace 替换文件【即使这个文件在使用,仍然可以替换成功】
- 例:replace d:love.mp3 d:mp3 // 使用d盘下的love.mp3强制替换d盘mp3目录中的love.mp3文件
mklink 创建符号链接(win7引入);创建的符号链接文件上会有一个类似快捷方式的箭头
- win7下的mklink命令通过指定参数可以建立出不同形式的文件或目录链接,分为硬链接(hard link)、符号链接(symbolic link)和目录联接(junction)三种。
- (1) 符号链接(symbolic link)
- 建立一个软链接相当于建立一个文件(或目录),这个文件(或目录)用于指向别的文件(或目录),和win的快捷方式有些类似。
- 删除这个链接,对原来的文件(或目录)没有影像没有任何影响;而当你删除原文件(或目录)时,再打开链接则会提示“位置不可用”。
- (2) 目录联接(junction)
- 作用基本和符号链接类似。区别在于,目录联接在建立时会自动引用原目录的绝对路径,而符号链接允许相对路径的引用。
- (3) 硬链接(hard link)
- 建立一个硬链接相当于给文件建立了一个别名,例如对1.txt创建了名字为2.txt的硬链接;
- 若使用记事本对1.txt进行修改,则2.txt也同时被修改,若删除1.txt,则2.txt依然存在,且内容与1.txt一样。
建立链接请注意:
a、建立文件或目录链接限于 NTFS 文件系统;符号链接(目录联接)的建立可以跨分区(如:在d盘可以建立c盘文件或目录的链接),硬链接只能建立同一分区内的文件指向
b、硬链接只能用于文件,不能用于目录;目录联接只能用于目录;符号链接则均可以;
c、硬链接不允许对空文件建立链接,符号(软)链接可以。
+++++++++++++++++++++++++++++++++
mklink [[/d] | [/h] | [/j]] Link Target
/d 创建目录符号链接。黙认为文件符号链接。
/h 创建硬链接,而不是符号链接。
/j 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径(相对或绝对)。
+++++++++++++++++++++++++++++++++
- 例:mklink /j “C:Users” “D:Users” // 创建D盘Users目录联接到C盘,并命名为Users
attrib 查看或修改文件或目录的属性 【A:存档 R:只读 S:系统 H:隐藏】
- 例:attrib 1.txt // 查看当前目录下1.txt的属性
- 例:attrib -R 1.txt // 去掉1.txt的只读属性
- 例:attrib +H movie // 隐藏movie文件夹
assoc 设置’文件扩展名’关联到的’文件类型’
- 例:assoc // 显示所有’文件扩展名’关联
- 例:assoc .txt // 显示.txt代表的’文件类型’,结果显示.txt=txtfile
- 例:assoc .doc // 显示.doc代表的’文件类型’,结果显示.doc=Word.Document.8
- 例:assoc .exe // 显示.exe代表的’文件类型’,结果显示.exe=exefile
- 例:assoc .txt=txtfile // 恢复.txt的正确关联
ftype 设置’文件类型’关联到的’执行程序和参数’
- 例:ftype // 显示所有’文件类型’关联
- 例:ftype exefile // 显示exefile类型关联的命令行,结果显示 exefile="%1" %*
- 例:ftype txtfile=C:Windows otepad.exe %1 // 设置txtfile类型关联的命令行为:C:Windows otepad.exe %1
当双击一个.txt文件时,windows并不是根据.txt直接判断用notepad.exe打开
而是先判断.txt属于txtfile’文件类型’;再调用txtfile关联的命令行:txtfile=%SystemRoot%system32NOTEPAD.EXE %1
- 文件查看
type 显示文本文件内容
- 例:type c:11.txt // 显示c盘中11.txt的文本内容
- 例:type conf.ini // 显示当前目录下conf.ini的文本内容
- 例:type c:11.txt | more // 分页显示c盘中11.txt的文本内容
- type nul> 11.txt, // 创建文件
more 逐屏的显示文本文件内容
- 例:more conf.ini // 逐屏的显示当前目录下conf.ini的文本内容 【空格:下一屏 q:退出 】
关闭指定端口的进程
1:查看特定端口被占用情况
命令: netstat -ano 和 netstat -ano|findstr 端口号
netstat -ano:查看电脑所有端口被占用的情况:
netstat -ano|findstr 端口号:查看特定端口被占用情况:
2:关闭占用端口的程序
命令 :taskkill /pid PID(进程号) /f