Ir ao conteúdo
  • Cadastre-se

Bat comando no cmd que da niveis de permição altamente alto


Ir à solução Resolvido por ricardo_br,

Posts recomendados

comando no cmd que da níveis de permissão altamente alto eu preciso disso por que estou fazendo um projeto estou passando por coisas muitos difíceis por a pasta $Recycle.bin ela e muito protegida pelo sistema por isso o comando abaixo e o comando que estou utilizando ele funciona mais bem nessa pasta não alguém sabe uma maneira de resolver ou algum comando? o resultado que ele me da e esse literalmente: sendo que a pasta não esta vazia

Tamanho da pasta: c:$Recycle.bin
Em bytes:
Em MB: 0 MB
Em GB: 0 GB
Pressione qualquer tecla para continuar. . .

 

 

<@echo off
setlocal enabledelayedexpansion

set "pasta=c:$Recycle.bin"
for /f "tokens=1-5" %%a in ('dir /-c/s %pasta%^|find "total de bytes"') do set "tamanho_bytes=%%c"

set /a "tamanho_mb = tamanho_bytes / 1024 / 1024"
set /a "tamanho_gb = tamanho_mb / 1024"

echo Tamanho da pasta: %pasta%
echo Em bytes: %tamanho_bytes%
echo Em MB: %tamanho_mb% MB
echo Em GB: %tamanho_gb% GB

pause>

Link para o comentário
Compartilhar em outros sites

22 minutos atrás, hc09 disse:

Abra o terminal e chame o seu bat assim: 

 

runas /savecred /user:administrador C:/sampledir/myscript.bat

 

@hc09

C:\Windows\system32>runas /savecred /user:administrador C:/C:\Users\ravier\Desktop\tt.bat^S
Tentando iniciar C:/C:\Users\ravier\Desktop\tt.bat‼ como usuário "DESKTOP-L8JRILB\administrador" ...
Digite a senha para administrador:

 

que senha eu n sei n

17 minutos atrás, rieidi_gamer disse:

@hc09

C:\Windows\system32>runas /savecred /user:administrador C:/C:\Users\ravier\Desktop\tt.bat^S
Tentando iniciar C:/C:\Users\ravier\Desktop\tt.bat‼ como usuário "DESKTOP-L8JRILB\administrador" ...
Digite a senha para administrador:

 

que senha eu n sei n

@hc09 também botei a senha que e padrão eu acho que e admin mas ele fala isso aqui

ERRO RUNAS:  não é possível executar - C:\Users\ravier\Desktop\tt.bat
1326: Nome de usuário ou senha incorretos.

nome de usuário não esta incorreto por que na pasta do Windows esta com o nome certo

 

Link para o comentário
Compartilhar em outros sites

@rieidi_gamer Usando powershell dentro do bat:

 

echo off
setlocal enabledelayedexpansion

set "pasta=c:\$Recycle.bin"

for /f %%a in ('powershell -command "(get-childitem -recurse -Literalpath '%pasta%' -ErrorAction SilentlyContinue -force | measure-Object -Property Length -sum).sum"') do set "tamanho_bytes=%%a"

set /a "tamanho_mb = tamanho_bytes / 1024 / 1024"
set /a "tamanho_gb = tamanho_mb / 1024"

echo Tamanho da pasta: %pasta%
echo Em bytes: %tamanho_bytes%
echo Em MB: %tamanho_mb% MB
echo Em GB: %tamanho_gb% GB

pause

 

Link para o comentário
Compartilhar em outros sites

@ricardo_br

C:\Windows\system32>echo off
Tamanho da pasta: c:\$Recycle.bin
Em bytes: 9667408
Em MB: 9 MB
Em GB: 0 GB
Pressione qualquer tecla para continuar. . .

 

 

finalmente algum resultado so que eu acho que os MB ta meio bugado e essa mensagem de echo off você esqueceu do @

 

meu deus do céu que eu fiz estava mandando o script errado era esse so que mesmo assim ele não da o resultado esse comando usa o powersheell também so que so esse seu ta meio bugado


@echo off
setlocal enabledelayedexpansion

set "pasta=%temp%"

for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { $_.Sum / 1GB }"') do set "tamanho_gb=%%a"
for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { $_.Sum / 1MB }"') do set "tamanho_mb=%%a"
for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { $_.Sum }"') do set "tamanho_bytes=%%a"

echo Tamanho da pasta: %pasta%
echo Em bytes: %tamanho_bytes%
echo Em MB: %tamanho_mb% MB
echo Em GB: %tamanho_gb% GB

pause

Link para o comentário
Compartilhar em outros sites

16 minutos atrás, rieidi_gamer disse:

@ricardo_br

C:\Windows\system32>echo off
Tamanho da pasta: c:\$Recycle.bin
Em bytes: 9667408
Em MB: 9 MB
Em GB: 0 GB
Pressione qualquer tecla para continuar. . .

 

 

finalmente algum resultado so que eu acho que os MB ta meio bugado e essa mensagem de echo off você esqueceu do @

 

meu deus do céu que eu fiz estava mandando o script errado era esse so que mesmo assim ele não da o resultado esse comando usa o powersheell também so que so esse seu ta meio bugado


@echo off
setlocal enabledelayedexpansion

set "pasta=%temp%"

for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { $_.Sum / 1GB }"') do set "tamanho_gb=%%a"
for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { $_.Sum / 1MB }"') do set "tamanho_mb=%%a"
for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { $_.Sum }"') do set "tamanho_bytes=%%a"

echo Tamanho da pasta: %pasta%
echo Em bytes: %tamanho_bytes%
echo Em MB: %tamanho_mb% MB
echo Em GB: %tamanho_gb% GB

pause

onde eu vou botar esse comando dir /a /-c /s %pasta%

Link para o comentário
Compartilhar em outros sites

@rieidi_gamer No caso dos MB você queria os decimais também?

 

Naquele primeiro que você mandou usando dir /a também mostra pastas ocultas e do sistema:

 

@echo off
setlocal enabledelayedexpansion

set "pasta=c:$Recycle.bin"
for /f "tokens=1-5" %%a in ('dir /a /-c /s %pasta%^|find "total de bytes"') do set "tamanho_bytes=%%c"

set /a "tamanho_mb = tamanho_bytes / 1024 / 1024"
set /a "tamanho_gb = tamanho_mb / 1024"

echo Tamanho da pasta: %pasta%
echo Em bytes: %tamanho_bytes%
echo Em MB: %tamanho_mb% MB
echo Em GB: %tamanho_gb% GB

pause

 

Link para o comentário
Compartilhar em outros sites

@ricardo_br mandei errado dnv eu tinha feito uma conversa com um cara e não vi então/a também mostra esses arquivos só que o que realmente tá funcionando de vdd e esse aqui menos na lixeira que o seu deu quase certo 

Esse e o comando certo 

 

@echo off

setlocal enabledelayedexpansion

 

set "pasta=%temp%"

 

for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { [math]::Round($_.Sum / 1GB, 2) }"') do set "tamanho_gb=%%a"

for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { [math]::Round($_.Sum / 1MB, 2) }"') do set "tamanho_mb=%%a"

for /f %%a in ('powershell -NoProfile -Command "Get-ChildItem -Path '%pasta%' -Recurse -File | Measure-Object -Property Length -Sum | %% { $_.Sum }"') do set "tamanho_bytes=%%a"

 

echo Tamanho da pasta: %pasta%

echo Em bytes: %tamanho_bytes%

echo Em MB: %tamanho_mb% MB

echo Em GB: %tamanho_gb% GB

 

pause

Link para o comentário
Compartilhar em outros sites

7 horas atrás, ricardo_br disse:

@rieidi_gamer Ah, isso é porque na lixeira tem um cifrão $: c:\$recycle.bin que no powershell indica variável, para suprir isso você pode usar -literalpath no comando....

@ricardo_br eu já estava muito ciente desse $ que eu preciso de um alto nível de permissão eu lembro que eu já vi um muito avançando mesmo 

Onde seria colocado o literalpath eu não entendo muito disso 

Link para o comentário
Compartilhar em outros sites

  • Solução

Antes de indicar o local da pasta: -LiteralPath '%pasta%'

 

Aqui tem um exemplo onde o usuário digita a pasta onde será verificado o tamanho:

 

@echo off

setlocal enabledelayedexpansion
:Inicio
cls
echo.
set /p "pasta=Informe a pasta: "

for /f "tokens=1-3 delims=-" %%a in ('powershell -NoProfile -Command "$bytes = (Get-ChildItem -LiteralPath '%pasta%' -Recurse -force -ErrorAction SilentlyContinue -File | Measure-Object -Property Length -Sum).Sum;$mega = '{0:N2}' -f [math]::Round($bytes / 1MB,2);$giga = '{0:N2}' -f [math]::Round($bytes / 1GB,2);write-host $bytes-$mega-$giga"') do (
                                                                                 set "tamanho_bytes=%%a"
                                                                                 set "tamanho_mb=%%b"
                                                                                 set "tamanho_gb=%%c"
                                                                                )

echo.
echo  Tamanho da pasta: %pasta%
echo  Em bytes: %tamanho_bytes%
echo  Em MB: %tamanho_mb% MB
echo  Em GB: %tamanho_gb% GB
echo.
pause
goto :Inicio

 

7yZOoK7.gif

Link para o comentário
Compartilhar em outros sites

@ricardo_br

Informe a pasta: c:\$recycle.bin

 Tamanho da pasta: c:\$recycle.bin
 Em bytes: 9667408
 Em MB: 9,22 MB
 Em GB: 0,01 GB

Pressione qualquer tecla para continuar. . .

 

não tem isso de MB tem muito mais é eu quero direto no c:\$recycle.bin por que no .bat que estou fazendo ja está todas as pastas programadas para aparecer o tamanho

Link para o comentário
Compartilhar em outros sites

agora, ricardo_br disse:

@rieidi_gamer Dentro da lixeira tem arquivos que foram excluidos por outros usuários que não seja o que você está usando?

não meu computador só tem um usuario

@ricardo_br

@ricardo_br


Informe a pasta: c:\$Recycle.bin

 Tamanho da pasta: c:\$Recycle.bin
 Em bytes: 1010650929
 Em MB: 963,83 MB
 Em GB: 0,94 GB

Pressione qualquer tecla para continuar. . .

o comando está certo mais eu quero que a pasta vai direto n que tenha que escrever tentei isso e ele me mostrou 0mb 0gb

Link para o comentário
Compartilhar em outros sites

@rieidi_gamer Acho que sei porque pode não estar aparecendo o valor total da lixeira, na verdade cada drive fixo tem sua própria lixeira por exemplo se você tiver c:\ d:\ e:\ tem:

c:\$recycle.bin

d:\$recycle.bin

e:\$recycle.bin

 

os arquivos que exclui em c:\ vão para c:\$recyc le.bin os que você exclui em d:\ vão para d:\$recycle.bin etc....

Link para o comentário
Compartilhar em outros sites

@ricardo_br o comando funciona sim amigo mais independe do disco que você esta usando com nesse disco estiver o Windows ele automaticamente e chamado de disco C a única coisa e que eu quero que seja direto para a pasta c:\$recycle.bin e que eu não precise escrever o nome da pasta seu comando funciona sim 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!