2013-02-15 45 views
1

當我關閉gWidgets界面時,我的腳本會生成很多小的PNG文件,我想刪除它們。我以爲我可以使用如何使用shell()命令從Windows文件夾中刪除文件

shell("del *.png") 

但無論在劇本,也沒有在交互模式R(2.15.2),這已經在所有(甚至不是一個錯誤或警告)的任何效果做到這一點在Windows中。可能我做錯了什麼,但是到目前爲止我還找不到什麼。

有人有想法給我嗎?

+0

你可能要考慮使用'unlink'或'file.remove' – James 2013-02-15 08:48:19

回答

2

我剛剛測試過你的命令 - Windows XP上R的相同版本 - 它的工作原理與你所期望的完全一樣。如果這個命令不適合你,我強烈懷疑R的工作目錄可能與你有你的.png文件的目錄不同。

你可以嘗試:

shell('dir *.png') 

...驗證.png文件,實際上,在當前的工作目錄試圖刪除它們之前。如果它們不存在,你會得到報告:

File Not Found 
Warning messages: 
1: running command 'C:\WINDOWS\system32\cmd.exe /c dir *.png' had status 1 
2: In shell("dir *.png") : 'dir *.png' execution failed with error code 1 

此外,如果你運行del命令一次,所以有剩餘的目錄中沒有.png文件,同時運行的第二次命令你應該得到的錯誤信息如下所示:

> shell("del *.png") 
Could Not Find C:\usr\sjl\dev\test\R\*.png 
+0

我的壞!我認爲這是理所當然的(因此沒有提到)該命令也適用於子目錄 - 我的實際命令是「del out/*。png」。在Linux中,它可以工作:'system('rm out/*。png')'... – vaettchen 2013-02-15 07:06:52

相關問題