Como colocar o valor DayOfWeek no nome do arquivo?

2

Eu gostaria de usar a parte numérica da saída de "caminho wmic win32_localtime get dayofweek" para numerar arquivos de backup. Algo ao longo das linhas de:

FOR / F "tokens = 2 delims = \ n" %% DoW IN ('caminho wmic win32_localtime get dayofweek') DO (echo %% DoW)

Só que o acima não funciona. Qualquer ajuda seria muito apreciada.

    
por aelfinn 09.11.2010 / 12:23

3 respostas

3

Nos novos sistemas operacionais Windows, que incluem o Vista e o Windows 7, o comando "date" não retorna um dia da semana, mas você ainda pode colocar o dia em uma variável usando o seguinte em um script em lotes:

@echo off & Setlocal 
Set "_=mon tues wed thurs fri sat sun" 
For /f %%# In ('WMIC Path Win32_LocalTime Get DayOfWeek^|Findstr [1-7]') Do ( 
        Set DOW=%%#)
:: now lets display the day of week on the screen 
echo "%DOW%"
pause

Para o Windows 2K e XP, você pode analisar o dia a partir do comando "date" usando o seguinte em um script em lotes:

@echo off
echo.|date|find "is:" >Get.bat
findstr "is:" get.bat > Str
for /f "tokens=5 delims= " %%d in (str) do set day=%%d
del get.bat
del str
:: echo day of week to the screen
echo Today is %day%
pause
    
por 22.02.2011 / 05:07
2

Variáveis em um loop FOR podem ser apenas caracteres únicos. O delims que você tem indica uma barra invertida literal e "n" em vez de uma nova linha.

@echo off
SETLOCAL enabledelayedexpansion
SET /a count=0
FOR /F "skip=1" %%D IN ('wmic path win32_localtime get dayofweek') DO (
    if "!count!" GTR "0" GOTO next
    ECHO %%D
    SET /a count+=1
)
:next
    
por 09.11.2010 / 16:26
1
for /f "skip=1 tokens=2 delims=," %i in ('wmic path win32_localtime get dayofweek /format:csv') do set DOW=%i
echo %DOW%
    
por 08.12.2014 / 15:25