Forum

Bildirimler
Hepsini Temizle

.bat dosyası

15 Yazılar
7 Üyeler
0 Likes
743 Görüntüleme
(@muhammetkulaksiz)
Gönderiler: 60
Estimable Member
Konu başlatıcı
 

merhaba


benim bir bat dosyamın içerisinde 01052011-055.gtf diye bir dosyam var bu dosyayı hergün bir yerden bir yere kopyalıyorum


01052011 tarihini hergün otomatik devam etmesini istiyorum yani ertesi gün 02052011-055.GTF olsun


bunu bat dosyası ile nasıl gerçekleştiririm...

 
Gönderildi : 16/05/2011 15:58

(@ugurburma)
Gönderiler: 1973
Üye
 

Tam olarak bat dosyanızın içeriğini yazarmısınız.

%date% değişkenini bir deneyin isteseniz.

 
Gönderildi : 16/05/2011 16:11

(@muhammetkulaksiz)
Gönderiler: 60
Estimable Member
Konu başlatıcı
 

COPY \\192.168.113.200\DATI\13052011-003.GTF C:\DATI\
COPY \\192.168.114.200\DATI\13052011-004.GTF C:\DATI\


COPY \\192.168.161.200\DATI\13052011-034.GTF C:\DATI\
COPY \\192.168.144.200\DATI\13052011-038.GTF C:\DATI\


 BU DOSYALARI UZAKTAKİ BİLGİSAYARLARDAN ALIYORUM KENDİ BİLGİSAYARIMA KOPYALIYORUM


AMA 13052011-038 BU DOSYALARI HERGÜN OTOMATİK TARİHİN ARTMASI İÇİN NE YAPMALIYIM BAT DOSYASI İLE


 

 
Gönderildi : 16/05/2011 16:24

(@m-hakancan)
Gönderiler: 1866
Noble Member
 

Merhabalar;

Script nizin başına aşağıda ki kodu ekleyelim. Ardından da dosya adını %Cdate% ile başlayacak şekilde değiştirelim. Örneğin %Cdate%.gtf gibi

FOR /F "TOKENS=1,2 DELIMS=/ " %%A IN ('DATE /T') DO SET mm=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('DATE /T') DO SET dd=%%B
FOR /F "TOKENS=3* DELIMS=/ " %%A IN ('DATE /T') DO SET yyyy=%%B

Set Cdate=%dd%_%mm%_%yyyy%

Kolay gelsin...

 
Gönderildi : 16/05/2011 18:45

(@muhammetkulaksiz)
Gönderiler: 60
Estimable Member
Konu başlatıcı
 

OLMADI


 


___-005.GTF gibi bir şey çıkıyor istediğim tarihli dosya çıkmıyor

 
Gönderildi : 17/05/2011 19:00

(@m-hakancan)
Gönderiler: 1866
Noble Member
 

Peki demin ki script yerine sadece %date%.gtf şeklinde dener misiniz?

Kolay gelsin...

 
Gönderildi : 17/05/2011 19:23

(@muhammetkulaksiz)
Gönderiler: 60
Estimable Member
Konu başlatıcı
 

farketmiyor ___-005.gtf kopyalamaya çalışıyor veya ____.gtf kopyalamaya çalışıyor...

 
Gönderildi : 17/05/2011 20:01

(@m-hakancan)
Gönderiler: 1866
Noble Member
 

İlginç, komut satırında %date% yazarak çalıştırıp çıktısının tarih şeklinde olup olmadığını kontrol eder misiniz?

 
Gönderildi : 18/05/2011 00:08

(@muhammetkulaksiz)
Gönderiler: 60
Estimable Member
Konu başlatıcı
 
FOR /F "TOKENS=1,2 DELIMS=/ " %%A IN ('DATE /T') DO SET mm=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('DATE /T') DO SET dd=%%B
FOR /F "TOKENS=3* DELIMS=/ " %%A IN ('DATE /T') DO SET yyyy=%%B
Set Cdate=%dd%_%mm%_%yyyy%
COPY \\192.168.113.200\DATI\%Cdate%.GTF C:\DATI\
COPY \\192.168.114.200\DATI\%Cdate%.GTF C:\DATI\
COPY \\192.168.144.200\DATI\%Cdate%-038.GTF C:\DATI\
COPY \\192.168.139.200\DATI\%Cdate%-035.GTF C:\DATI\
 
a.bat dosyası yazıyorum çalıştırıyorum
 
C:\DATI\RRR>FOR /F "TOKENS=1,2 DELIMS=/ " %A IN ('DATE /T') DO SET mm=%B
C:\DATI\RRR>SET mm=
C:\DATI\RRR>FOR /F "TOKENS=2,3 DELIMS=/ " %A IN ('DATE /T') DO SET dd=%B 
C:\DATI\RRR>FOR /F "TOKENS=3* DELIMS=/ " %A IN ('DATE /T') DO SET yyyy=%B
C:\DATI\RRR>Set Cdate=___  
C:\DATI\RRR>COPY \\192.168.113.200\DATI\___.GTF C:\DATI\
Sistem Berirtilen dosyayı bulamıyor.
C:\DATI\RRR>COPY \\192.168.114.200\DATI\___.GTF C:\DATI\
Sistem Berirtilen dosyayı bulamıyor.
C:\DATI\RRR>COPY \\192.168.144.200\DATI\___-038.GTF C:\DATI\
Sistem Berirtilen dosyayı bulamıyor.
C:\DATI\RRR>COPY \\192.168.139.200\DATI\___-035.GTF C:\DATI\
Sistem Berirtilen dosyayı bulamıyor.
 
böyle oluyor 
 
Gönderildi : 18/05/2011 12:06

(@m-hakancan)
Gönderiler: 1866
Noble Member
 

Peki baştan başlayalım [:)]. Bu dosyalar normalde var olan dosyalar mı? Yoksa bir yedek programı tarafından mı oluşturuluyor?

Eğer bir yedek programı tarafından oluşturuluyor ise yedeği olşturan programda bu tarz bir ayar yapılabilir. Ya da dosyalar copyalanmadan önce isimleri değiştirip sonra kopyalama işlemi yapılabilir.

tek bir dosya için düşünürsek

Normal
0

21

false
false
false

TR
X-NONE
X-NONE

MicrosoftInternetExplorer4

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}

echo off

FOR /F "TOKENS=1,2 DELIMS=/ " %%A IN ('DATE /T')
DO SET mm=%%B

FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('DATE /T')
DO SET dd=%%B

FOR /F "TOKENS=3* DELIMS=/ " %%A IN ('DATE /T') DO
SET yyyy=%%B

Set Cdate=%dd%_%mm%_%yyyy%

ren  13052011-003.GTF %Cdate%.gtf

COPY \\192.168.113.200\DATI\%Cdate%.gtf C:\DATI\%Cdate%.gtf

 

şeklinde deneyebilir misiniz. Tabi ren ile dosyayı yeniden adlandırdığımız bölümde dosyanın yolunu tam olarak yazmanız gerekecektir.

Kolay gelsin...

 
Gönderildi : 18/05/2011 17:28

(@muhammetkulaksiz)
Gönderiler: 60
Estimable Member
Konu başlatıcı
 
COPY \\192.168.145.200\DATI\13052011-016.GTF C:\DATI\
COPY \\192.168.148.200\DATI\13052011-017.GTF C:\DATI\
COPY \\192.168.140.200\DATI\13052011-036.GTF C:\DATI\
COPY \\192.168.111.200\DATI\13052011-009.GTF C:\DATI\
 
 
BU DOSYALAR NORMALDE VAR OLAN DOSYALAR UZAKTAKİ BİLGİSAYARDA VAR OLAN DOSYALAR
13052011-016.GTF BENİM UZAKTAKİ BİLGİSAYARIMDA VAR OLAN DOYA BU DOSYA GÜNLÜK OLARAK
14052011-016.GTF
15052011-016.GTF
 OLARAK KARŞI BİLGİSAYARDA GÜNLÜK OLARA HAZIRLANMAKTA BEN DE
 COPY \\192.168.145.200\DATI\13052011-016.GTF C:\DATI\      BAT DOSYASI İLE KENDİ BİLGİSAYARIMA GÜNLÜK OTOMATİK KOPYALIYORUM AMA BEN BAT DOSYAMDA 13052011-016.GTF DOSYASINI HERGÜN ELLE DEĞİŞTİRMEK İSTEMİYORUM 13052011 TARIHI OTOMATIK DEĞİŞSİN İSTİYORUM ...
 
 
 
 
Gönderildi : 19/05/2011 13:11

(@ilkertutu)
Gönderiler: 63
Trusted Member
 

xcopy'nin  /d özelliği işinize yarayabilir. eğer tarih vermezseniz yalnızca son bir gün içerisinde değişen dosyaları kopyalıyor.

xcopy \\192.168.145.200\DATI\*-016.GTF C:\DATI\ /d gibi bir komutun işe yaraması lazım.

 
Gönderildi : 19/05/2011 23:32

(@erdemmetin)
Gönderiler: 11
Active Member
 
rem -----------------------------------------------------
for /f "tokens=1,2" %%u in ('date /t') do set d=%%u
for /f "tokens=1" %%u in ('time /t') do set t=%%u
if "%t:~1,1%"==":" set t=0%t%
set datetimestr=%d:~6,4%-%d:~3,2%-%d:~0,2%
rem -----------------------------------------------------
md C:\%datetimestr%
 
yukarıdaki komut ile günün tarihiyle klasör oluştura bilirsin.
yapman gerek şu olur yani
 
aaa.bat dosyası oluştur ve içine şunu yaz...
 
rem -----------------------------------------------------
for /f "tokens=1,2" %%u in ('date /t') do set d=%%u
for /f "tokens=1" %%u in ('time /t') do set t=%%u
if "%t:~1,1%"==":" set t=0%t%
set datetimestr=%d:~6,4%-%d:~3,2%-%d:~0,2%
rem -----------------------------------------------------
md C:\DATI\%datetimestr%
XCOPY \\192.168.113.200\DATI\*.GTF C:\DATI\%datetimestr%\  /q
 
bu kadar.
 
tüm dosyaları yedekleyeceksen 
XCOPY \\192.168.113.200\DATI\*.* C:\DATI\%datetimestr%\  /q 
olarak değiştir satırı 
 
 
 
Gönderildi : 29/06/2012 18:42

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

Bu da benim SQL i yedek alıp ismini değiştirdiğim bat dosyası

öncelikle datadb.bak diye bir dosya varsa sil. Sonra sql e bağlan. Sonra YEdek alam scriptini çalıştır. Sonra hedef klasöre git ve datadb.bak dosyasının adını TARIHdatadb.bak. Bundan sonrada kopyalama yada taşıma yapabilirsin. Dikkat %DATE% sistem ayarlarında tarih formatı nasıl ayarlandıysa öyle verir. Benimkinde 01.01.1990 olarak çıkıyor mesela

echo off
CD C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup
del datadb.bak
"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" -S REKHUNTER\SQLEXPRESS -U BackupUser -P UserPassword -i "C:\Documents and Settings\SQLSERVER\Belgelerim\SQL Server Management Studio Express\Projects\gunlukyedekalma.sql"
CD C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\
REN datadb.bak %DATE%datadb.bak

 
Gönderildi : 29/06/2012 18:55

(@vasviuysal)
Gönderiler: 7889
Üye
 
TITLE Netsis backup islemi
@echo off
color fc
d:\
cd \
start /wait d:\oto_zip_sil.exe
net stop SQLSERVERAGENT /y
net stop mssqlserver /y
"C:\Program Files\7-Zip\7z.exe" a -r -tzip d:\backup.zip C:\netsis\
ren backup.zip %date%.zip
net start mssqlserver
net start SQLSERVERAGENT
d:\oto_zip_sil.exe
 
buda benim yıllar once bir netsis makinasını yedeklemek için oluşturduğum batch 
yalnız şu var windows 98 vs kullanmıyor iseniz batch dosyarınızın uzantısını bat degil cmd olarak kullanmanızı tavsiye ederim bazen system environmentlerini okumada sorun yaşatabiliyor bat uzantılı olunca
 
iyi çalışmalar
 
 
Gönderildi : 29/06/2012 19:58

Paylaş: