Como setar uma variável com a DATA no Windows?

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Avatar do usuário
tfg
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 83
Registrado em: Seg, 03 Mai 2004 3:38 pm
Localização: Novo Hamburgo - RS

Quero criar um script no DOS que renomeia um arquivo colocando a DATA do dia no próprio nome. Algo assim: MEUARQ_2004_05_30.ZIP. Ou seja MEUARQ_AAAA_MM_DD.ZIP (ano, mês e dia). Tem como fazer isso no Windows ?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

SIM, é perfeitamente possível! Existe várias formas de se fazer isso. Vou colocar aqui duas delas:

Windows NT, 2000, XP

Você cria um script chamado settodayd.txt com esse texto dentro:

Selecionar tudo

set data= 
Daí você roda esse script:

Selecionar tudo

DATE /T >setdata.txt
COPY settodayd.txt+setdata.txt data_var.bat
CALL data_var.bat

SET data=%data: =%
SET data=%data:/=%
Windows 98, 95 ou DOS

Selecionar tudo

:: __________________________________________________________________
::
::  Batch File:      DATETIME.BAT
::  Author:          Frank-Peter Schultze
::
::  Updates:         http://www.fpschultze.de/b6.htm
::  Enhancement Req.
::  And Bug Reports: support@fpschultze.de
::
::  Built/Tested On: MS-DOS 6.22, Windows 98 SE, Windows NT 4.0
::  Requirements:    OS: MS-DOS 5+, Windows NT4+
::
::  Purpose:         Set DATE/TIME Variable To The System Date/Time.
::
::  Syntax:          No arguments required.
::
::  State Changes:   Reduces free environment space.
::
::  Assumptions And
::  Limitations:     * Does not handle low environment errors.
::
::  Last Update:     2002-02-25
:: __________________________________________________________________
::
   @Echo Off
    If Not %1'==/?' Goto Begin
    Echo Sets DATE and TIME variable to the system date and time.
    Echo.
    Echo [Call] DATETIME
    Goto End
   :Begin
    For %%V In (DATE TIME) Do Set %%V=
    If %OS%'==Windows_NT' Goto %OS%
    Echo @Prompt %%%%1 %%%%0 :: $D $T$_Set DATE=%%%%3$_Set TIME=%%%%4$_>%TEMP%.\$ATETIM0.BAT
    %COMSPEC% /C %TEMP%.\$ATETIM0.BAT > %TEMP%.\$ATETIM1.BAT
    Call %TEMP%.\$ATETIM1.BAT
    Del %TEMP%.\$ATETIM?.BAT
    Goto End
   :Windows_NT
    For /F "Tokens=2" %%D In ('Date /T') Do (Set DATE=%%D)
    For /F            %%T In ('Time /T') Do (Set TIME=%%T)
   :End
Responder
  • Informação