Answers:
rm -f <filename>
删除 <filename>
如果它存在,即使它对当前用户是只读的。如果 <filename>
不存在, rm -f <filename>
默默地回归成功。如果试图删除 <filename>
导致权限错误或 <filename>
是一个目录, rm
将退出并显示错误消息。看到 POSIX.1-2008 Shell&amp;公用事业:rm 。
这在您想要确保特定文件不存在的一次性情况下非常有用。 rm -f
如果文件不存在,将默默成功;它将尝试甚至删除只读文件(如果已存在)。它使您不必首先检查文件是否存在或启用文件的写入权限位。这使得它非常有用 Makefile文件 传统的 clean
目标 因为您希望确保删除所有构建的文件,而不必在每个文件周围放置条件shell代码 rm
调用。
DEL
有一个 /F
导致的旗帜 DEL
继续删除您没有写入权限的文件。但是,如果您尝试删除不存在的文件,它仍会抱怨(不像 rm -f
):
C:\Users\binki>DEL /F nonexistent
Could Not Find C:\Users\binki\nonexistent
C:\Users\binki>rm -f nonexistent
C:\Users\binki>
也许有更好的方法,但我认为 rm -f
只有在帮助下才能复制行为 IF EXIST
。因此,我建议 IF EXIST <filename> DEL /F <filename>
是最接近的 cmd
语法来复制行为 rm -f <filename>
:
C:\Users\binki>IF EXIST nonexistent DEL /F nonexistent
C:\Users\binki>touch existent& chmod u-w existent
C:\Users\binki>DEL existent
C:\Users\binki\existent
Access is denied.
C:\Users\binki>IF EXIST existent DEL /F existent
C:\Users\binki>ls -l existent
ls: existent: No such file or directory
C:\Users\binki>
rm -f强制删除文件。如果您需要删除特定文件夹中的所有内容,包括包含文件夹的文件夹,则需要在unix中执行rm -rf。
如果您对UNIX命令感到满意,可以在Windows中使用UNIX命令shell模拟器,我使用的模拟器称为CYGWIN:
cmd.exe
是一个本机Windows应用程序。