Isso força o arquivo a ser excluído, mesmo que seja somente leitura.
del /f filename
é o equivalente aproximado em shells de comando do Windows.
rm -f /obi/u01/informatica/v711/pmserver/SrcFiles/coe/aone/AccessOne_Daily_Input.xml
Qual é o seu uso no unix e sua possível implementação no dos?
Isso força o arquivo a ser excluído, mesmo que seja somente leitura.
del /f filename
é o equivalente aproximado em shells de comando do Windows.
rm -f <filename>
exclui <filename>
, se existir, mesmo que seja somente leitura para o usuário atual. Se <filename>
não existir, rm -f <filename>
silenciosamente retornará o sucesso. Se a tentativa de excluir <filename>
resultar em um erro de permissão ou <filename>
for um diretório, rm
será encerrado com uma mensagem de erro. Consulte POSIX.1-2008 Shell & Utilitários: rm .
Isso é útil em situações únicas em que você deseja garantir que um determinado arquivo não exista. rm -f
será bem-sucedido se o arquivo não existir; ele tentará remover um arquivo somente leitura se ele já existir. Isso evita que você precise verificar se o arquivo existe primeiro ou ativar o bit de permissão de gravação do arquivo. Isso o torna muito útil em um convencional Makefile clean
target porque você quer garantir que todos os arquivos compilados sejam apagados sem ter que colocar código de shell condicional ao redor de cada rm
de invocação.
DEL
tem um sinal /F
que faz com que DEL
prossiga e exclua os arquivos para os quais você não tem permissão de gravação. No entanto, ele ainda vai reclamar se você tentar remover um arquivo inexistente (ao contrário de rm -f
):
C:\Users\binki>DEL /F nonexistent
Could Not Find C:\Users\binki\nonexistent
C:\Users\binki>rm -f nonexistent
C:\Users\binki>
Talvez exista uma maneira melhor, mas acho que o comportamento de rm -f
só pode ser replicado com a ajuda de IF EXIST
. Assim, proponho que IF EXIST <filename> DEL /F <filename>
seja a sintaxe cmd
mais próxima disponível para replicar o comportamento de 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 força a exclusão de um arquivo. Se você precisar excluir tudo em uma pasta específica, incluindo pastas com pastas, você precisará fazer rm -rf no unix.
Se você se sentir confortável com os comandos UNIX, você pode usar um simulador de shell de comando do UNIX no Windows, o que eu uso é chamado CYGWIN:
Tags command-line windows shell unix