Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:严子凯 (中山大学)
邮箱:yanzk@mail2.sysu.edu.cn
目录
DOS 是 Disk Operating System (磁盘操作系统) 的缩写,是一套基于磁盘管理的操作系统,在微软推出 Windows2000 之前是最主流的操作系统。DOS 命令不仅以接近自然语言的简洁形式对系统操作,同时也能够有条不紊地监控并管理管理软、硬件资源。
我们可以通过调取 Windows 内置应用 Command 来启用 DOS 指令,并以最简洁、高效的方式完成绝大部分磁盘相关操作 (新建、复制、移动、删除文件/文件夹),因此在复杂文件管理中具有不可替代的优势。
DOS 是面向磁盘的操作命令,根据储存位置和数目分为内部命令、外部命令、批处理命令三类。由于该分类对 Stata 操作意义有限,故不再赘述。本文使用更为常用、根据操作对象类型的分类方法,将 DOS 命令归纳为:
cd
、dir
、path
、tree
等;copy
、more
、ren
、findstr
等;cls
、move
、print
、sort
等;format
、label
、share
、verify
等;ftp
、net
、ping
、route
等;在 Windows 系统中,我们需要先打开内置应用 Command (快捷键 Windows + R
),再输入 DOS 指令执行。在 Stata 中,我们只需要在 DOS 命令前添加英文版本的 !
即可执行。
!md 路径
md
命令的用处是创建文件夹,其最大的优势是递归创建文件夹,即同时生成多层级文件。例如,在路径 D:/Stata
下创建文件夹 new_1
的同时,在文件夹 new_1
内创建新文件夹 subnew_1
,Stata 自带的 mkdir
命令便会报错,原因是 new_1
文件夹并不存在。
因此,我们需要输入两行 Stata 命令,即第一步生成文件夹 new_1
,第二步再生成文件夹 subnew_1
。不过,DOS 指令能够一步到位,直接输入如下命令,便可顺利在 Stata 内实现上述目的。
. * Stata 命令错误做法
. mkdir "D:/Stata/new_1/subnew_1"
could not create directory D:/Stata/new_1/subnew_1
. * Stata 命令正确做法
. mkdir "D:/Stata/new_1/"
. mkdir "D:/Stata/new_1/"
. * DOS 命令做法
. !md "D:/Stata/new_1/subnew_1"
!tree 路径 [/f] [/a] >> 输出文件
tree
命令能够生成指定工作路径下的所有文件结构。其中,参数 /f
显示每个目录中文件的名称,/a
指定使用文本字符而不是图形字符来显示链接子目录的行,>>
输出重定向操作符,将结果都输出到文件内。
. !tree D:\Stata /f >> output.txt
!copy [/d] [/v] [/n] [/y | /-y] [/z] [/a | /b] <source> [/a | /b] [+<source> [/a | /b] [+ ...]] [<destination> [/a | /b]]
将某个路径下一个或多个文件复制到另一路径下。其中,
/d
允许复制的加密文件保存为解密文件;/v
验证新文件是否写正确;/n
复制名称超过八个字符或文件扩展名超过三个字符的文件时,使用简短的文件名;/y
禁止提示确认要覆盖现有目标文件;/-y
提示您确认要覆盖现有目标文件;/z
在可重新启动模式下复制联网文件;/a
指示 ASCII 文本文件;/b
指示二进制文件;<source>
指定要复制文件或一组文件的位置,必选项;<destination>
指定复制文件或一组文件的目标位置,必选项。. sysuse auto, clear
. save auto, replace
. !copy "D:/Stata/auto.dta" "D:/Stata/new_1/auto.dta"
del [drive:][path]fileName[ ...] [/p] [/f] [/s] [/q] [/a[:attributes]]
删除指定文件。其中,
drive
指定要删除文件的驱动器;path
指定要删除文件的路径;/p
提示确认是否删除指定文件;/f
强制删除只读文件;/s
从当前目录及其所有子目录中删除指定文件,并显示正在被删除的文件名;/q
不提示确认删除指定文件;/a
根据指定的属性删除文件;attributes
指定文件属性,r
只读,a
存档,s
系统,h
隐藏,前缀 -
表示 “非”。!del "D:\Stata\new_1\auto.dta" /f/s/q
!findstr [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file] [/C:string] [/G:file]
[/D:dir list] [/A:color attributes] [/OFF[LINE]] strings [[drive:][path]filename[ ...]]
在文件中寻找字符串,相关参数如下:
参数 | 描述 |
---|---|
/B | 在一行的开始配对模式 |
/E | 在一行的结尾配对模式 |
/L | 按字使用搜索字符串 |
/R | 将搜索字符串作为一般表达式使用 |
/S | 在当前目录和所有子目录中搜索匹配文件 |
/I | 指定搜索不分大小写 |
/X | 打印完全匹配的行 |
/V | 只打印不包含匹配的行 |
/N | 在匹配的每行前打印行数 |
/M | 如果文件含有匹配项,只打印其文件名 |
/O | 在每个匹配行前打印字符偏移量 |
/P | 忽略有不可打印字符的文件 |
/OFF[LINE] | 不跳过带有脱机属性集的文件 |
/A:attr | 指定有十六进位数字的颜色属性 |
/F:file | 从指定文件读文件列表 |
/C:string | 使用指定字符串作为文字搜索字符串 |
/G:file | 从指定的文件获得搜索字符串 |
/D:dir | 查找以分号为分隔符的目录列表 |
strings | 要查找的文字 |
符号 | 意义 |
---|---|
. | 通配符:任何字符 |
* | 重复:前一字符或类别出现零或零以上次数 |
^ | 行位置:行的开始 |
$ | 行位置:行的终点 |
[class] | 字符类别:任何在字符集中的字符 |
[^class] | 补字符类别:任何不在字符集中的字符 |
[x-y] | 范围:在指定范围内的任何字符 |
\x | Escape:元字符 x 的文字用法 |
<xyz | 字位置:字的开始 |
xyz> | 字位置:字的结束 |
通配符和重复符规则:从文件 file.txt 中查找任意字符,不包括空字符和空行。
!findstr . file.txt
从文件 file.txt 中查找任意字符,包括空字符和空行。
!findstr .* file.txt
字符集规则:从文件 file.txt 中查找包括任意字符的字符串或行。
!findstr "[a-zA-Z]" file.txt
从文件 file.txt 中查找可匹配 Ma1Y、Mb1Y、Mc1Y、Ma2Y、Mb2Y、Mc2Y、Ma3Y、Mb3Y、Mc3Y 的行。
!findstr "M[abc][123]Y" file.txt
行首、行尾符规则:从文件 file.txt 中查找行首为 step 字符串的行。
!findstr "^step" file.txt
从文件 file.txt 中查找行尾为 step 字符串的行。
!findstr "step$" file.txt
减法规则:要过滤掉 file.txt 中纯数字的行。
!findstr "[^0-9]" file.txt
单词前缀后缀定位规则:从文件 file.txt 中查找以 step 为前缀的字符串的行。
!findstr "\<echo" file.txt
从文件 file.txt 中精确查找单词 step。
!findstr "\<step\>" file.txt
!move [/Y | /-Y] [drive:][path]filename1[,...] destination
既可以移动文件,也可以给文件重命名。具体参数如下:
参数 | 描述 |
---|---|
drive: | 指定移动文件的驱动器 |
path | 指定移动文件的路径 |
destination | 指定文件的新位置 |
/Y | 取消确认覆盖一个现有目标文件的提示 |
/-Y | 对确认覆盖一个现有目标文件发出提示 |
. * 移动文件
. !move "D:\Stata\auto.dta" "D:\Stata\new_1\auto.dta"
. * 移动并重命名文件
. !move "D:\Stata\new_1\auto.dta" "D:\Stata\auto_new.dta"
简书:DOS命令大全
爬虫俱乐部: Stata中五条特别好用的DOS命令
手册网:DOS函数参考手册
Stanislav Kolenikov, 2012, Scrambled Halton Sequences in Mata, Stata Journal, 12(1): 29–44. -PDF-
脚本之家:批处理命令教学之字符串排序 (sort)
曙光博客:Windows下route命令的用法
CSDN:DOS命令FINDSTR
CSDN:Net share 命令详解
Note:产生如下推文列表的 Stata 命令为:
lianxh 正则, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh