如何在 Matlab 中以编程方式安全地删除文件?我所说的“安全”是指:
- 单个删除语句最多删除一个文件,例如不删除通配符。
delete(a*)
应该删除文件a*
,仅此而已! - 单个删除语句不应有任何可能的副作用,例如 no
system(sprintf('rm -f %s', foo))
wherefoo
may befile;some_command
。
目前,我遇到的代码system(sprintf('rm -f %s', foo))
有一些foo
. 我想将其替换为delete(foo)
,但根据文档, Matlabs -functiondelete
接受通配符,因此不满足要求(1);如果输入包含*
,我可能最终会删除许多文件。如何在 Matlab 中安全地删除文件?
当然,一种方法是foo
通过删除诸如:=, ()*<>!?%;
. 但首先这是一种迂回的方式,其次不允许我删除包含这些字符的文件。