2
我們希望從Lisp中使用sbcl和asdf uiop:run-program
調用Windows shell命令。如何使用asdf運行Windows shell命令asdf uiop:運行程序在sbcl下
我們在Windows 10下使用sbcl 1.3.6在emacs/slime下做了什麼。 64位和asdf 3.1.5。是:
CL-USER>(require 'asdf)
(shadowing-import 'asdf::run-program)
那麼,正常工作(如在Unix)是這樣的:
CL-USER>(run-program "echo test" :output :string)
"test
"
NIL
0
CL-USER>
但是並沒有在所有的工作和錯誤出與文件的任何操作:
(run-program "dir")
(run-program "copy foo.txt tmp")
(run-program "xcopy *.texi tmp")
有或沒有:output :string
作爲參數。我們不確定我們是否做錯了什麼,或者是否存在與sbcl或asdf相關的錯誤,或者該功能是否仍然被windows 10的asdf和sbcl支持。可比較的shell命令在Unix上似乎很好。
任何幫助將不勝感激。
事實上,使用sbcl 1.3.15和asdf 3.2.0它的效果更好。使用通配符進行Xcopy和複製工作。 Md和Rd工作。不幸的是,Del只適用於當前目錄中的單個文件,不適用於通配符(這很可惜,因爲這是我們需要的),而不適用於使用路徑給出的文件。 Dir仍然出錯。 Chdir沒有任何作用,我們必須手動設置* default-pathname-defaults *。但是,這是一個了不起的進展。非常感謝你。 –
是否uiop:刪除目錄樹和朋友幫助? –
'uiop:chdir'和綁定'* default-pathname-defaults *'是互補的,不是重疊的變化。 –