it-swarm-pt.tech

Qual é a maneira da linha de comando de enviar arquivos para a lixeira?

Existe um programa de linha de comando que pode enviar arquivos para a lixeira? Este é o XP e o Vista.

46
justintime

CmdUtils possui um utilitário chamado Recycle que faz exatamente isso. [ download direto ]

Mais informações :

Para usar o comando reciclar, baixe o arquivo Zip do CmdUtils e descompacte o exe na sua pasta do Windows. Adicioná-los à pasta do Windows permitiria que você acesse o comando globalmente sem precisar especificar o caminho inteiro para o executável. Você pode começar a usar o comando reciclar digitando;

recycle filename.txt

Você também pode especificar curingas com os comandos, para digitar recycle * .txt reciclará todos os arquivos de texto no diretório atual. Há também uma opção para suprimir a caixa de diálogo de confirmação de exclusão usando o sinalizador de força com o comando.

Para excluir um arquivo sem precisar confirmar, use o comando

recycle –f filename.txt

O sinalizador –f diz ao comando para forçar uma reciclagem sem mostrar a caixa de diálogo de confirmação.

33
Mark

Se você possui o PowerShell instalado:

$sh = new-object -comobject "Shell.Application"
$ns = $sh.Namespace(0).ParseName("PATH\TO\FILE\TO\DELETE")
$ns.InvokeVerb("delete")
21
EBGreen

Não há uma maneira integrada de fazer isso, mas existem ferramentas de terceiros que podem. Verifiquei minha pasta de despejo de programa e encontrei algumas opções. Todos eles funcionam da mesma forma (por exemplo, recycle filename.ext), mas eles variam em desempenho; portanto, depende de quais são suas necessidades (por exemplo, você está reciclando um lote de arquivos?)

  • O --- da MaDdoG Software Reciclar é rápido e não tem saída, mas pode gerar um erro misterioso não encontrado
  • O EasyTools ' DeleteXP é lento porque exibe o progresso no console, mas se você o redirecionar para nul, é o mais rápido e confiável
  • cmd-recycle de Chris Yuen é mais lento, mesmo ao redirecionar a saída (mal formatada) para nul
6
Synetech

Pode usar utilitário externo:

nircmd moverecyclebin * .tmp

5
Yura Shinkarev

Eu tenho essa pergunta há muito tempo - finalmente peguei o assunto em minhas próprias mãos e rolei minha própria utilidade cmd-recycle

Eu dei uma olhada em Recycle.exe em CmdUtils. O fato é que ele exibe a caixa de diálogo tradicional "Você tem certeza" quando reciclar (que pode ser removida adicionando o argumento -f). Meu programa apenas faz isso (já que você sempre pode desfazer), o que eu acho mais adequado para fins de script.

4
kizzx2

Apenas aprimorando o código EBGreen, aqui está um conveniente código de 1 linha que pode ser facilmente inserido em qualquer arquivo em lotes para que o trabalho seja feito. (supondo que o caminho completo do arquivo esteja no parâmetro% 1 do arquivo em lotes)

echo (new-object -comobject Shell.Application).Namespace(0).ParseName("%~1").InvokeVerb("delete") | powershell -command - 

Observe o final - ele faz o comando powershell aceitar o texto do comando stdin

1
clueless

Sem programas externos - deleteJS.bat . Ele usa Shell.Application invoque o método verbal. o uso é simples:

call deleteJS.bat c:\someFile.txt
call deleteJS.bat d:\someFolder
1
npocmaka

Tentei vários programas para mover um arquivo para a lixeira, mas fiquei insatisfeito com eles por vários motivos.

O principal problema que a maioria tem é a falta de status decente ou mensagens de erro. Alguns simplesmente falham silenciosamente, então você acha que o programa reciclou alguma coisa, mas na verdade não fez nada!

Para remediar isso, escrevi um utilitário de linha de comando chamado bin-it que move os arquivos especificados para a lixeira do Windows. Ele suporta curingas e fornece status completo e relatórios de erros. Se algo der errado, você saberá!

É totalmente gratuito e pode ser baixado aqui como binit.
http://www.akiwi.co.uk/utilities.html

1
akiwi

Sem o uso de ferramentas de terceiros, não acredito que haja uma "maneira de enviar arquivos para a lixeira". Você pode obter o caminho completo para a lixeira em um sistema Windows 7-10 como este:

::get current user sid
for /f "tokens=2" %%i in ('whoami /user /NH') do set UID=%%i
:: create full path to current user recycle bin in a variable
set recyclebin=%systemdrive%\$Recycle.Bin\%UID%

echo %recyclebin%

O problema é que, se você simplesmente mover um arquivo para lá, ele não aparece na lixeira. Você só poderá vê-lo em um prompt de comando. A lixeira é uma pasta especial. O método API do Windows de mover itens para a lixeira renomeia o arquivo e armazena informações sobre ele em um ou mais arquivos de informações proprietários, dependendo da versão do sistema operacional. As ferramentas de terceiros sugeridas nas respostas acima invocam esses métodos de API que lidam com tudo isso para você.

Mais algumas informações aqui: https://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-Vista/

1
TroyK

Você pode tentar RecycleIt . Ele enviará arquivos para a Lixeira do Windows via linha de comando.

EXEMPLO DE USO:

recycleIt.exe C:\temp\example.txt /quit

NOTA: Você precisa adicionar o "/ quit" ou ela abrirá uma janela que permanece aberta. Isso pode ser problemático para sessões de console sem cabeça.

0
Michael Weiner