【cmd】文件操作
来源:互联网 发布:spyder python怎么运行 编辑:程序博客网 时间:2024/06/06 07:29
前言
cmd提供了对文件操作一的一系列命令,本文将从文件的建立、修改、替换、删除、复制、移动、链接建立、文件的属性、文件所有以及访问权限控制对文件操作命令进行总结。
正题
1.文件的新建
文件的新建主要通过重定向>来建立,例如将ipconfig /all > ip_info.txt即是将ipconfig的内容重定向到ip_info.txt文件中。这里主要探讨建立空白文件的方式,建立空白文件,思路是将输出为空的命令重定向到文件中即可完成。然而我们知道,echo总是会在输出后加上一个空行,因此需要考虑别的有效的途径。一种途径是将nul设备的内容copy到新文件中:
copy nul > blank_file
也可以通过
type nul > blank_file
cd. > blank_file
这些命令的共同特点是:输出为空,且不会产生任何“副作用”(cd..也可以新建文件,但是会产生返回上级目录的“副作用”)
参考:http://zhidao.baidu.com/link?url=TtYr5l4xLo1hMYSjMBsetCUk_Pc4xFewvnvKKjf1SGU1986svf3pjW6HNA9fsi0diauHEq_mUZ--YlRMOYPZRq
2.文件的修改
文件的修改可以通过>>进行追加内容,其他修改主要依靠编辑器实现。
3.文件的替换
replace 文件 目录 [/A][/S][/U]
不加选项 替换目录中的同名文件,如果不存在同名文件,则跳过
/A 相当于copy一份文件到目录中,如果目录中存在文件,则跳过
/S 替换目录所有子目录中的文件
/U 仅替换目录中较旧的文件
4.文件的复制
copy [/[-]Y] [/L][/A][/B] source dest
如果source为文件,dest为文件,则复制source为dest
如果source为文件,dest为目录,则复制source为dest\source
如果source为目录,dest为目录,则将source中文件复制到dest中
/Y如果重名,则直接覆盖,不询问
/-Y如果重名,则提示已存在同名文件夹,询问是否覆盖(默认)
/L如果souce为链接,则复制链接而不是所链接的文件过去(默认复制链接对应的文件)
/A 明确说明source为ascii文本文件
/B 明确说明source为二进制文件
另外一种用法:copy file1 + file2 + ... filen 将file1、file2 ...的内容合并为filen(这里存在一个问题:经过notepad++查看发现最后会出现一个sub字符)
5.文件的移动
move [/[-]Y][Y] source dest
将文件/目录移动到对应目录中(如果需要重命名,可以指定一个新的文件或者目录名)
[-[Y]] 语义与copy相同
6.文件重命名
ren oldname newname
可以看到,这个也可以使用move命令来实现(事实上因此linux中并没有特意提供重命名命令)
7.删除文件
del/erase target[/S][/F][/Q][/A]
当target为文件时,直接删除文件(无法在回收战恢复),为目录时,只删除目录下的子文件
/S 删除目录以及其子目录下所有文件(不删除目录)
/F 强制删除只读文件
/Q 安静模式
/A 删除具有特定属性的文件(/A与dir /A中/A用法相同)
8.创建链接
mklink link target [/D][/H][/J]
默认创建target的soft link(软链接)
/D 当target为目录时,需要附加该参数
/H 创建hard link,区别与soft link,hard link指向文件的结点而非文件名,当更改target的文件名时,soft link仍然指向原来的文件名,因此点击时会弹出“文件不存在“,而hard link则不会
/J 创建目录的junction,junction与link的区别主要表现在link始终指向本机文件,而junction可以指向远程文件
9.删除链接
删除文件链接使用del/erase命令即可
删除目录链接或者junction不能使用del/erase命令,del会删除链接所指向的文件夹下的子文件,要删除链接或者junction需要使用rd
9.文件的属性
attrib [+|-] [R|A|S|H|I]target [/S][/D][/L]
R 只读文件
A 归档文件
S 系统文件
H 隐藏文件
I not content indexted file
/S 对target以及其子项应用
/D process file
/L 表示target为一个链接
10.文件的所有权
takeown /F 文件名 [/A]
将文件所有者设置为当前用户
/A 将文件所有者设置为管理员
11.文件的访问权限
只有文件的所有者或者管理员才能设置访问权限
icacls name /grant username:permission
为username分配指定权限
icacls name /deny username:permission
拒绝username指定权限
permission:
F 所有权限
R 只读权限
W 只写权限
M 修改权限
RX 读取与执行权限
D 删除权限
icacls name /save aclfile
将name的权限设置保存到acl文件
icalcs directory /restore aclfile
将acl的设置恢复到dicrectory下的文件中
总结
cmd文件的操作较多较杂,这里系统的进行整理一下,其中可以看到存在不少冗余与不规范的情况,因此cmd命令相对于linux尚不够完备,不过对于大多数的操作已经足够了。
- window cmd文件操作
- CMD文件操作
- 【cmd】文件操作
- CMD文件、文件夹操作
- cmd FC 文件匹配操作
- CMD命令---操作目录与文件
- cmd操作
- cmd操作
- cmd操作
- Cmd操作
- cmd文件
- 用cmd对文件进行打包的操作
- python os模块,平常操作文件方便,执行cmd命令
- windows cmd 下的简单文件操作命令
- CMD命令详解——文件操作类
- cmd的操作命令导出导入.dmp文件
- Node.js异步操作和CMD命令行下创建文件
- cmd的操作命令导出导入.dmp文件
- 没有GPS就回不了家?
- xml和javabean互转的方法
- 来来来, 考个问题:在调试某个函数的代码时, 如何快速获知每个变量的值?
- DICOM:最新标准梳理之DICOM Web Service,WADO-URI/WADO-WS/WADO-RS
- 没有互联网的世界一隅
- 【cmd】文件操作
- 关于Kalman滤波器的理解
- 数值转换(10to8)
- JAVA基础知识精选
- request_module 源码分析
- KonvaJS
- C++STL之algorithm(一)
- Java注解
- Java 基本数据类型的包装类及其数据类型转换