在Julia中运行Windows shell命令

时间:2017-01-14 00:19:39

标签: shell julia

据说在朱莉娅,我可以通过首先点击;来运行shell命令。但我的Windows 7机器上没有运气。这是我首先在shell中运行dir,然后尝试在Julia中执行相同操作的示例:

C:\Users\Public>dir
 Volume in drive C is OS
 Volume Serial Number is A4A2-4168

 Directory of C:\Users\Public

01/30/2016  03:31 AM    <DIR>          .
01/30/2016  03:31 AM    <DIR>          ..
07/13/2009  09:08 PM    <DIR>          Documents
07/13/2009  08:54 PM    <DIR>          Downloads
01/02/2017  10:56 AM    <DIR>          Music
01/16/2016  02:53 PM           262,144 NTUSER.DAT
07/13/2009  08:54 PM    <DIR>          Pictures
11/20/2010  11:16 PM    <DIR>          Recorded TV
01/05/2016  06:06 AM    <DIR>          Roaming
07/13/2009  08:54 PM    <DIR>          Videos
               1 File(s)        262,144 bytes
               9 Dir(s)  850,167,861,248 bytes free

C:\Users\Public>julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.0 (2016-09-19 18:14 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-w64-mingw32

shell> dir
ERROR: could not spawn `dir`: no such file or directory (ENOENT)
 in _jl_spawn(::String, ::Array{String,1}, ::Ptr{Void}, ::Base.Process, ::RawFD, ::RawFD, ::RawFD) at .\process.jl:3
21
 in #414 at .\process.jl:478 [inlined]
 in setup_stdio(::Base.##414#415{Cmd,Ptr{Void},Base.Process}, ::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:466
 in #spawn#413(::Nullable{Base.ProcessChain}, ::Function, ::Cmd, ::Tuple{RawFD,RawFD,RawFD}, ::Bool, ::Bool) at .\pr
ocess.jl:477
 in run(::Cmd) at .\process.jl:591
 in repl_cmd(::Cmd, ::Base.Terminals.TTYTerminal) at .\client.jl:91

julia>

我已经尝试过其他命令,但cd可以工作,但cls没有。这里出了什么问题?

2 个答案:

答案 0 :(得分:5)

这有效:

shell>cmd /c dir

答案 1 :(得分:4)

问题是很多&#34;命令&#34;在Windows中是内置而不是程序。如果有人想在Windows上对所有cmd内置版本实施特殊处理,那么PR将受到欢迎。