Forum

Bat dosyası ile ...
 
Bildirimler
Hepsini Temizle

Bat dosyası ile önceki günün tarihi ile klasör oluşturma

4 Yazılar
4 Üyeler
0 Reactions
4,856 Görüntüleme
(@ozcanozarslan)
Gönderiler: 63
Estimable Member
Konu başlatıcı
 

Merhaba arkadalar,

 

@echo off
set tarih1=%date:.=%
set Klasor=%tarih1%
if exist D:\Gunluk_Raporlar\%Klasor% echo "Klasor zaten var"
if not exist D:\Gunluk_Raporlar\%Klasor% mkdir d:\Gunluk_Raporlar\%Klasor%
pause

bu komut ile günün tarihinde klasör oluşturabiliyorum. 

Ben istiyorum ki bir gün öncesinin tarihinde klasör oluştursun. Yardımlarınızı bekliyorum. İyi çalışmalar.

Saygılarımla.

 

 
Gönderildi : 02/01/2018 00:23

(@eravse)
Gönderiler: 1753
Üye
 

selamlar tarih alanında -1 yaparsan sorun cozulecektir bunun ıcınde aşağıdaki fonksiyonlardan SubtractDate olanını kullanabilirsin.

Fonksiyonu ben yazmadım alıntıdır. Test ettim calısıyor.

 

Saygılırmla

 

 

 

@echo off
setlocal

Call :GetDateTime Year Month Day
Echo %Year% %Month% %Day%
Call :SubtractDate %Year% %Month% %Day% -60 Ret
echo %Ret%
exit /b


:SubtractDate Year Month Day <+/-Days> Ret
::Adapted from DosTips Functions::
setlocal & set a=%4
set "yy=%~1"&set "mm=%~2"&set "dd=%~3"
set /a "yy=10000%yy% %%10000,mm=100%mm% %% 100,dd=100%dd% %% 100"
if %yy% LSS 100 set /a yy+=2000 &rem Adds 2000 to two digit years
set /a JD=dd-32075+1461*(yy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yy+4900+(mm-14)/12)/100)/4
if %a:~0,1% equ + (set /a JD=%JD%+%a:~1%) else set /a JD=%JD%-%a:~1%
set /a L= %JD%+68569,     N= 4*L/146097, L= L-(146097*N+3)/4, I= 4000*(L+1)/1461001
set /a L= L-1461*I/4+31, J= 80*L/2447,  K= L-2447*J/80,      L= J/11
set /a J= J+2-12*L,      I= 100*(N-49)+I+L
set /a YYYY= I, MM=100+J, DD=100+K
set MM=%MM:~-2% & set DD=%DD:~-2%
set ret=%MM: =%/%DD: =%/%YYYY: =%
endlocal & set %~5=%ret%
exit /b

:GetDateTime Year Month Day Hour Minute Second
@echo off & setlocal
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
( ENDLOCAL
     IF "%~1" NEQ "" set "%~1=%YYYY%" 
     IF "%~2" NEQ "" set "%~2=%MM%" 
     IF "%~3" NEQ "" set "%~3=%DD%"
     IF "%~4" NEQ "" set "%~4=%HH%" 
     IF "%~5" NEQ "" set "%~5=%Min%"
     IF "%~6" NEQ "" set "%~6=%Sec%"
)
exit /b

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 02/01/2018 00:59

(@bugraparlayan)
Gönderiler: 324
Üye
 

Zamanında şöyle bir kod kullanmışım ama sebebini hatırlamadım : ) 

Bir denersin umarım işin görür.

@echo off
set day=-1
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "data=%yyyy%-%mm%-%dd%"
if exist D:\Gunluk_Raporlar\%data% echo "Klasor zaten var"
if not exist D:\Gunluk_Raporlar\%data% mkdir D:\Gunluk_Raporlar\%data%
pause

 

Oracle ACE Associate - Türkiye Hayat & Emeklilik

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 02/01/2018 01:07

(@turancoskun)
Gönderiler: 4100
Üye
 

Özcan bey,

aynı soru için birden fazla post kullanmanız, yarar yerine çöp postlar oluşturacaktır. bkz. forum kuralları

sorunuza gelecek olursak, yedeklemede batch file/script dönemi eski bir yöntem.

çok özel bir nedeni yok ise, artık en kötü free backup agentlar kullanılabilirsiniz. bkz. veeam endpoint backup

 

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 02/01/2018 02:54

Paylaş: