Por que o FIND no Windows 7 fornece um erro de "Acesso negado"? [fechadas]


10

Eu tenho uma conta de administrador em uma máquina Windows 7 x64. Não é a conta de administrador, a conta é simplesmente um membro do grupo de administradores.

A instalação é padrão. Quando o usuário abre um prompt de comando, ele termina no diretório% HOMEPATH% dos usuários, onde você encontrará vários diretórios, como a pasta Documentos. Se o usuário usar o seguinte comando FIND (windows), ocorrerá um erro "Acesso negado":

FIND /I "My String" C:\Users\Rann\Documents
Access denied - C:\USERS\RANN\DOCUMENTS

Usar runas ou clicar com o botão direito do mouse no prompt de comando para executá-lo como administrador não altera esse comportamento; um cmd.exe no nível de administrador ainda me dá o mesmo erro. Alterar o caminho para qualquer outro diretório gera o mesmo erro.

Minha pergunta é a seguinte: como se deve usar os comandos FIND (e possivelmente outros)? Que direitos são necessários?


Essas perguntas podem ser transferidas para superusuário? É a única correspondência relevante ao procurar esse problema e merece uma resposta concisa.
not2savvy

Respostas:


13

Você está tentando executar a localização em um diretório. Funciona apenas em arquivos. Tente o seguinte:

FIND /I "My String" C:\Users\Rann\Documents\*

Direita! Portanto, é necessário saber com antecedência em que pasta o arquivo ou os arquivos estão localizados para usar com êxito o comando Localizar para encontrar a sequência de texto que você está procurando. Não entende recursão. Perdeu essa capacidade em algum lugar, de alguma forma, ao longo do caminho, durante o "desenvolvimento". Por esse motivo, você também pode cdentrar no diretório em que o arquivo está e emitir um problema find /i "my string" *que pesquisaria todos os arquivos nessa pasta por "minha string".
Samir,

4

Isso é verdade, parece que o Find não volta mais a cair. Mas, ei, não se preocupe, podemos usar uma pequena ajuda de script aqui. Aqui está um que eu tentei e funciona:

for /R %G in (*) do (find "String_I_am_Looking_For" %G)

Isso pesquisará todas as subpastas.

Isso pode produzir várias linhas de saída. Portanto, pode ser mais fácil direcionar a saída para um arquivo:

para / R% G em (*) do (encontre "String_I_am_Looking_For"% G) >> output.txt

E, em seguida, procure a string de pesquisa nesse arquivo (você pode usar a inspeção visual ou Ctrl + F para encontrar aqui).


Um pouco estranho para localizar as correspondências reais entre todo o lixo que o comando 'find' gera, mas isso faz o truque para a pesquisa ímpar!
precisa

1
Editei o comando para enviar a saída para um arquivo de texto - talvez seja mais fácil usar a saída produzida.
Suman Shivesh

3

Isto não está certo. O FIND costumava pesquisar todos os subdiretórios, mas não 'pode' por causa da segurança do Win 7. Você precisa montar o sistema de arquivos OFFLINE para usar corretamente o FIND.


Você pode adicionar o Windows Vista à lista de versões do Windows que não possuem mais um comando Localizar que compreende recursão. Estou executando o Vista Ultimate, x64 no momento e estou vendo o mesmo problema.
Samir

3
talvez, use findstr em vez disso
aeroson

@ aeroson: Essa é a resposta - Você vai publicá-la?
Pieter Geerkens

@PieterGeerkens Eu sei que funcionou para mim, mas não sei por que, fique à vontade para publicá-la.
aeroson

-2

Aqui é o Babar, cobro taxas por isso, mas agora é gratuito por causa dos representantes.

Deixe-me dizer-lhe como você ignoraria o arquivo ou pasta de acesso negado via cmd:

Objetivo: você deve saber o nome da pasta e da unidade na qual deseja acessar.

Se você aplicar isso: Digamos que sua Pasta esteja no Drive-D e o Nome seja babar.

C: \ users \ system32> cd / dd: pressione enter

D:> para% g em (babar) do (localize / n / i "Nome da pasta:" "% g") pressione enter

D:> ACESSO NEGADO - Arquivo não encontrado

:: #######################################

Isso acontecerá se você tentar este comando acima no CMD.EXE

Agora observe como vou fazer você ignorar o arquivo de erro ACCESS DENIED.

C: \ users \ system32> cd / dd:

D:> para / r% g em (babar) do (encontre / n / i "Nome da pasta:% g") pressione enter

D:> (localizar / n / i "Nome da pasta: D: \ babar")

e pressione "ctrl C buttons" para cancelar e sair do shell CMD

Espero que isso seja suficiente para entender quantos sites não mostram erros durante a explicação do conteúdo.

Obrigado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.