2013-02-15 160 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