» »

[bat datoteke] Trenutni datum in ura

[bat datoteke] Trenutni datum in ura

zhigatsey ::

Živjo,

Imam narejeno eno bat datoteko, ki mi naredi vbistvu en backup, ki je zip datoteka...
Za to uporabim tale stavek...
7z a -t7z backup.7z *

A bi se dalo nekako pripopati datoteki backup.7z še trenutni datum in uro, kot naprimer backup15022007_101752.7z ali kaj podobnega...

Hvala za odgovore

zhigatsey ::

Malo komplicirano ampak deluje...

@echo off

:: Format data time variables
set TmpFile="%temp%.\tmp.vbs"
echo> %TmpFile% n=Now
echo>>%TmpFile% With WScript
echo>>%TmpFile% .Echo "set year=" + CStr(Year(n))
echo>>%TmpFile% .Echo "set yr=" + Right(Year(n),2)
echo>>%TmpFile% .Echo "set month="+ Right(100+Month(n),2)
echo>>%TmpFile% .Echo "set day=" + Right(100+Day(n),2)
echo>>%TmpFile% .Echo "set hour=" + Right(100+Hour(n),2)
echo>>%TmpFile% .Echo "set min=" + Right(100+Minute(n),2)
echo>>%TmpFile% .Echo "set sec=" + Right(100+Second(n),2)
echo>>%TmpFile% .Echo "set dow=" + WeekDayName(Weekday(n),1)
echo>>%TmpFile% .Echo "set dow2=" + WeekDayName(Weekday(n))
echo>>%TmpFile% .Echo "set iso=" + CStr(1 + Int(n-2) mod 7)
echo>>%TmpFile% .Echo "set iso2=" + CStr(Weekday(n,2))
echo>>%TmpFile% End With
cscript //nologo "%temp%.\tmp.vbs" > "%temp%.\tmp.bat"
call "%temp%.\tmp.bat"
del "%temp%.\tmp.bat"
del %TmpFile%
set TmpFile=
set stamp=%year%-%month%-%day%_%hour%.%min%.%sec%

:: Compressing files....
7z a -t7z Backup%year%%month%%day%%hour%%min%%sec%.7z * 

BigWhale ::

Dear Lord!

Ce se pa to ne da lazje, lepse in hitreje narediti, potem je pa cmd.exe se vecji drek, kot sem mislil, da je. ;>

Ethical ::

Zakaj ne narediš tega z WBSkriptom?...Radoveden.

lp
Unigraphic NX4, ME10.45 powered by AMD Opteron 165 DC, GPU X1900XT-R580

zerox ::

Del kode za datum malenkost krajše :) ...

for /F "tokens=2,3,4 delims=. " %%i in ('date/t') do set d=%%k-%%j-%%i
for /F "tokens=1,2,3 delims=:. " %%i in ('time/t') do set t=%%i-%%j
echo %d%-%t%

zhigatsey ::

O super, se lahko znebim zgornjega špeha...

veteran ::

7z a -t7z backup`date +%Y%m%d%H%M%S`.7z *

ja, kot je že Kit omenil, cmd.exe je shitware crap, v vseh letih zadeva še ni nič boljša, zato si raje omisli bash (google cygwin)

Tomay ::

To sem pobral z ene strani in malo priredil.

@echo off
set backup="d:\moji dokumenti"
set backup_to=c:\_backup

:BKPREG
REM date /t returns Day_of_Week, Month, Day and year in our
REM Win2000 installation.
REM This depend on a date format and we need a small trick
REM to extract the format from "date" command.

for /f "tokens=1,2,3,4* delims=.:/- " %%i in ('date /t') do (
for /f "skip=1 tokens=2-4 delims=/-,()." %%x in ('echo.^|date') do (
set day=%%i&set %%x=%%j&set %%y=%%k&set yyyy=%%l))


for /f "tokens=1,2* delims=: " %%i in ('time /t') do (
set hh=%%i&set min=%%j )

REM After this mess, we have min,hh,day,dd,mm and yyyy envariables.


if exist %backup_to%\Test_%yyyy%_%mm%_%dd%.zip goto :end


if not %day% == pet goto else
echo Danes je petek, izvaja se varnostno kopiranje

c:\7zip\7za.exe a %backup_to%\Test_%yyyy%_%mm%_%dd% %backup%\* -tzip

echo Varnostno kopiranje je izvedeno

echo Brišem, stare varnostne kopije

REM Set old to one month ago
set mm=!%mm%
set mm=%mm:!0=%
set mm=%mm:!=%
set /a mm=%mm% + 100
set /a mm=%mm% - 2
if %mm% equ 100 set /a mm=112&set /a yyyy=%yyyy% - 1
set old=%yyyy%_%mm:~1,2%
del %backup_to%\*%old%*.zip

goto :end

:else
echo danes ni petek

:end
Voodoo 4Ever

jan01 ::

Zdraven microsoftovega resource kit tools imaš now.exe, ki vrne datum v normalni/lipi obliki...

darkolord ::

batch fajli so en prazgodovinski ostanek is DOSa in danes ni več nobene potrebe po njih.

PowerShell:
[datetime]::now.tostring("backup{0:ddMMyyyy_hhmmss}.7\z")

Zgodovina sprememb…

  • spremenilo: darkolord ()

Tomay ::

Ni čisto res. Po defaultu nimaš na vsaki mašini powershella, cmd pa je.
Voodoo 4Ever

darkolord ::

WSH je tudi


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Avtomatizacija vpisa DNS IP naslova

Oddelek: Pomoč in nasveti
6766 (631) crniangeo
»

batch fajl iz txt (strani: 1 2 )

Oddelek: Programiranje
658846 (7507) b3D_950
»

cmd batch rename datoteke v datum,čas

Oddelek: Programiranje
121602 (1420) Good Guy
»

ping v batch.bat

Oddelek: Programiranje
61327 (1057) bzp
»

včerajšni datum

Oddelek: Programiranje
81080 (958) ql000

Več podobnih tem