- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 2984 个
- 通用积分
- 407.5325
- 学术水平
- 73 点
- 热心指数
- 72 点
- 信用等级
- 62 点
- 经验
- 1206 点
- 帖子
- 51
- 精华
- 0
- 在线时间
- 131 小时
- 注册时间
- 2011-4-7
- 最后登录
- 2025-3-17
已卖:1516份资源
硕士生
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
 - 2984 个
- 通用积分
- 407.5325
- 学术水平
- 73 点
- 热心指数
- 72 点
- 信用等级
- 62 点
- 经验
- 1206 点
- 帖子
- 51
- 精华
- 0
- 在线时间
- 131 小时
- 注册时间
- 2011-4-7
- 最后登录
- 2025-3-17
 | 开心 2019-1-20 22:23:55 |
|---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
|
经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
看连玉君老师的微信公众号文章《Stata15:一次性转码,解决中文乱码问题》,链接为:https://mp.weixin.qq.com/s/kaQZKqRMSQKXxstlANBHVg。文中连老师和李老师各自为实现批量转换文件乱码问题给出了相应的程序代码,其中连老师将命令封装为ua,使用了外部命令rcd实现,李老师采用infix和levelsof命令实现。结合两位老师的思路,现在给出另外一种实现目的的方法,相比两位老师的代码无需安装外部命令,也不受levelsof的数量限制,也无需将系统文件后缀名模式打开。循环遍历获取文件名的思路同时可以用于其它工作。代码供参考,有问题请指教,谢谢。
- cd "E:\My Data\ypp_command unicode" //需要批量转换的目录
- clear
- !dir /B /D > output.txt // !使用cmd模式下dir命令
- // /B 使用空格格式
- // /S 按大小排序
- file open handle_output using output.txt,read text
- file read handle_output opline
- while r(eof)==0 {
- local oplinenum=`oplinenum'+1
- if substr("`opline'",-3,3)=="dta" {
- di "`opline'"
- unicode encoding set gb18030
- unicode translate "`opline'",invalid
- }
- file read handle_output opline
- }
- file close handle_output
复制代码
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|
|
-
总评分: 学术水平 + 4
热心指数 + 4
信用等级 + 4
查看全部评分
|