Compartilhar via

continuação do .bat como medir o tamanho da pasta via .bat em gb e mb

Anônima
2023-04-01T16:39:50+00:00

Em bytes:

Em MB: 0 MB

Em GB: 0 GB

Pressione qualquer tecla para continuar. . .

a pasta tem 3gb para mais agora ou seria necessário colocar todo o caminho da pasta?

uma pergunta shutdown /r /t 0 n e de marcar tempo não ne por que eu ja fiz isso tive um problema muito ele ficava reniciando apos 60 segundos

comandos passados:

Para medir o tamanho da pasta via arquivo .bat em GB e MB, você pode utilizar o seguinte código em um arquivo .bat:

@echo off
setlocal enabledelayedexpansion

set "pasta=%temp%"
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

Esse script calculará o tamanho da pasta %temp% em bytes, MB e GB.

Quanto à segunda parte da sua pergunta, você pode criar um arquivo .bat para exibir uma mensagem e perguntar ao usuário se ele deseja reiniciar o PC. Aqui está um exemplo:

@echo off

set /p reiniciar="Você quer reiniciar o PC? (S/N): "

if /i "%reiniciar%"=="S" (
shutdown /r /t 0
) else (
echo Reinicialização cancelada.
pause
)

Este script solicitará a confirmação do usuário e, se a resposta for "S" (sim), o PC será reiniciado. Caso contrário, a reinicialização será cancelada e a mensagem "Reinicialização cancelada" será exibida.

@EuRodrigoBatista

estou remandando denovo por que eu acho que como marquei como resolvido você não recebe mais mensagens daquele post

Windows para casa | Windows 10 | Arquivos, pastas e armazenamento

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

10 respostas

Classificar por: Mais útil
  1. Anônima
    2023-04-01T21:16:09+00:00

    Peço desculpas pela confusão. Parece que há uma pequena imprecisão na conversão de bytes para MB e GB devido à representação interna de números de ponto flutuante. Vamos ajustar o script para arredondar os números e exibir uma saída mais legível:

    @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

    Neste script, eu adicionei a função [math]::Round() do PowerShell para arredondar os valores de MB e GB para duas casas decimais. Isso deve fornecer resultados mais precisos e legíveis. Por favor, teste o script atualizado e verifique se a saída está correta.

    Esta resposta foi útil?

    2 pessoas acharam esta resposta útil.
    0 comentários Sem comentários
  2. Anônima
    2023-04-01T23:10:01+00:00

    Fico feliz em saber que o script está funcionando corretamente agora. Para mudar o destino da pasta, basta modificar a variável "pasta" no script. Por exemplo, se você deseja verificar o tamanho de uma pasta chamada "Exemplo" no diretório "C:", altere a linha:

    set "pasta=%temp%"

    para:

    set "pasta=C:\Exemplo"

    Agora, o script calculará o tamanho da pasta "C:\Exemplo". Você pode substituir "C:\Exemplo" pela localização da pasta desejada.

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários
  3. Anônima
    2023-04-01T18:08:52+00:00

    Em bytes: g

    Em MB: 0 MB

    Em GB: 0 GB

    Pressione qualquer tecla para continuar. . .

    ainda não deu certo

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2023-04-01T17:19:31+00:00

    Sobre a segunda parte da sua pergunta, referente ao comando shutdown /r /t 0, eu gostaria de fornecer informações adicionais sobre o comando shutdown e suas opções.

    O comando shutdown é usado para desligar, reiniciar ou encerrar a sessão do computador. Aqui estão algumas opções comuns que podem ser usadas com o comando shutdown:

    • /s: Desliga o computador.
    • /r: Reinicia o computador.
    • /l: Encerra a sessão atual (não pode ser usado com /m ou /d).
    • /t: Define o tempo de atraso, em segundos, antes de executar a ação. O valor padrão é 30 segundos.
    • /f: Força o fechamento de aplicativos em execução sem aviso prévio.
    • /m \\computador: Especifica o computador alvo para o comando. Substitua "computador" pelo nome do computador ou pelo endereço IP.
    • /c "comentário": Adiciona um comentário explicando o motivo do desligamento ou reinicialização. Deve estar entre aspas.

    Esta resposta foi útil?

    0 comentários Sem comentários
  5. Anônima
    2023-04-01T17:18:37+00:00

    Se o script não está apresentando o tamanho correto da pasta, talvez seja necessário ajustar a formatação da saída do comando ‘dir’. O comando ‘dir’ pode variar dependendo da configuração regional do sistema. Você pode tentar a versão abaixo, que utiliza o comando ‘robocopy’ para calcular o tamanho da pasta:

    @echo off

    setlocal enabledelayedexpansion

    set "pasta=%temp%"

    set "tamanho_bytes=0"

    for /f "tokens=3" %%a in ('robocopy /l /s /nfl /ndl /njh "%pasta%" "%pasta%" ^| find "Bytes"') 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

    Esta resposta foi útil?

    0 comentários Sem comentários