Stata | 删除文件夹下所有文件
时间:2022-07-22
本文章向大家介绍Stata | 删除文件夹下所有文件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
在数据整理过程中,有时会生成一些临时的文件,数据整理完之后往往需要将其删除。本文就介绍下如何用 Stata 删除路径下的所有文件。
实现过程
生成演示文件
演示需要,先生成 temp_file
文件夹,其中存放待删除的文件。
* Create Directories
cap mkdir "temp_file"
cap mkdir "temp_filedta"
cd "temp_file"
* Write Files
forvalues i = 1/10{
!echo test -> "dtatest`i'.dta"
!echo test -> test`i'.txt
}
* Generate File Tree
ftree,s(..tempFileTree) d(tree)
运行上段代码,得到 tempfile
文件夹,目录结构如下:
卷 OS 的文件夹 PATH 列表
卷序列号为 D048-2ACC
C:.
│ test1.txt
│ test10.txt
│ test2.txt
│ test3.txt
│ test4.txt
│ test5.txt
│ test6.txt
│ test7.txt
│ test8.txt
│ test9.txt
│
└─dta
test1.dta
test10.dta
test2.dta
test3.dta
test4.dta
test5.dta
test6.dta
test7.dta
test8.dta
test9.dta
方式一:构造循环
使用 Stata 拓展宏获取路径下所有文件的名称,之后构造循环逐个删除。或者使用外部命令 fs
获取文件名,在其返回值 r(files)
上构造循环。两种实现方式的思路一致,都是将待删除的文件存为 local
后构造循环。但是这种方式只能删除文件,如果文件夹中包含子文件夹,就需要在子文件夹中再执行一次删除,当然也可以通过在外层嵌套一层循环实现。整体写法如下:
* Extended Function
cd "temp_file"
local files : dir . files "*.txt"
foreach f of local files {
erase "`f'"
}
* -fs-
cd "dta"
*ssc install fs , replace
fs
foreach f in `r(files)'{
erase "`f'"
}
方式二:调用 shell 命令
!rmdir /s /q "..temp_file"
rmdir
的基本语法如下:
$ help rmdir
删除一个目录。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目录本身外,还将删除指定目录下的所有子目录和
文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认
所以,上段代码中 /s
选项表示删除所有子文件夹和其中的文件,/q
选项安静模式,即删除的时候不询问是否确认删除。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Gitlab-ci:从零开始的前端自动化部署
- 从 1 到 0 构建博客项目(导读)
- 应该在JavaScript中使用Class吗
- Go语言小书 | 关于编译和语法
- Go语言小书 | 小试牛刀,从hello world开始
- 3分钟短文 | Laravel 中间件传递数据到控制器
- 3分钟短文 | Laravel 表单验证数组的数据
- 3分钟短文:Laravel 编程中优雅地添加定义常量
- 极客算法训练笔记(四),栈和队列,从实际应用看数据结构
- 微博爬虫出错居然还和网络运营商有关
- 8.深入k8s:资源控制Qos和eviction及其源码分析
- 1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知
- CNN不用乘法? AdderNet和DeepShift论文理解
- 动手构建地铁关系网,实现最短路径查询
- Java并发编程(08):Executor线程池框架