shellout,open anything

2017-07-21 闫续文 爬虫俱乐部 爬虫俱乐部

大家知道,use可以直接从stata内部打开数据集,那我们可不可以直接从stata内部打开其他格式的文件呢?我们以前在推文Stata叫你回家听音乐了!中详细介绍过winexec命令,但是winexec命令需要找到打开某个文件的应用程序所在路径,如果我们只知道一个文件,而不知道打开它的应用程序所在路径该怎么办呢?今天,我们来为大家介绍一个非常方便的新命令shellout

1
什么是shellout?

shellout 命令可以直接从Stata内部打开一个文件(如.doc, .do, .dta, .txt, .xls, .xml等等)。与winexec命令不同,winexec命令必须找到打开某个文件所需应用程序的路径,同时明确文件所在路径才可以打开文件,而 shellout命令只需要知道文件所在路径就可以在Stata中直接打开文件。当然,shellout命令也可以打开一个应用程序。如果我们要打开的文 件或者应用程序位于当前工作路径下(如“E:/stata15”)下,那就不需要指定文件路径,但是记得其他的情况都是要指定文件路径的哦。

shellout是外部命令,打包在outreg2里面,可以通过ssc install outreg2或者findit shellout进行安装。以后者为例,在命令框中输入:

findit shellout

在弹出的窗口中点击“outreg2”,shellout命令内嵌在outreg2的工具包中。

然后点击“click here to install”就安装成功啦。

2
举几个例子

比如:

shellout StataMP-64.exe

我们就打开了另一个Stata15。

shellout D:/Program Files/Tencent/QQ/Bin/QQScLauncher.exe

我们就启动了QQ。

shellout E:/docx/mytable1.docx

我们就在Word中打开了之前在推文《命令sum2docx输出统计量表到docx文件》中用sum2docx输出描述性统计结果的文档。

3
GitHub上的shellout

我们接下来主要介绍GitHub上的shellout命令,编写者是Keith Finlay,程序位于https://github.com/kfinlay/stata-tools/blob/master/shellout.ado 。 但是需要注意一点:Github上面的shellout(下文中我们将其改为shellout2以表区别)和ssc上面的shellout是完全不同的命 令,用途也不同。这一命令可以帮助我们调用cmd执行命令(类似于shell),同时也将cmd界面显示的结果放进返回值中。

    我们在https://github.com/kfinlay/stata-tools 页面点击“Download ZIP”下载压缩包。

解压并运行“shellout.ado”。为了与ssc上面的shellout命令分开,我们将 “shellout”改为“shellout2”。


比如,我们想查看当前的主目录,可以在cmd上输入“cd”,随即显示当前主目录为“E:/Stata15”。

在stata中,我们可以使用shellout2命令来完成同样的操作,并且这一命令会将cmd显示的结果放进返回值中。在命令窗口输入:

shellout2 cd

return list

可以看到在cmd中运行“cd”所显示的结果“E:/Stata15”被放进了“r(shellout)” 这一返回值中。

再比如,我们想要查看windows版本,在cmd中输入“winver”,便会弹出如下窗口:

在stata的命令窗口中输入:

shellout2 winver

也会弹出关于“Windows”窗口。但由于“winver”这一命令在cmd中运行时不会出现任何文字结果,因此在返回值中也没有任何内容,仅仅是执行了这一命令。

以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~

                     文字编辑:高娜娜

技术总编:刘贝贝



往期推文推荐:

1.高校学术大神:你的导师上榜了吗?

2.中国高校财经、管理与综合类期刊灌水排行榜

3.关于RTF你不知道的命令之番外篇

4.免费事件研究,一片片从邮局寄来

5.免费的股价同步性,一片片从邮局寄来

6.Stata叫你回家听音乐了!

7.一言不合就用stata写邮件(Outlook/Foxmail)

8.听说你想知道怎么用stata画地图?

9.I have a Stata, I have a python

10.I have a Stata, I have a Python之二——pdf转word




关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号