BAT dosyası ile ağ bilgisayarından belirli klasörler nasıl kopyalanabilir?

Katılım
14 Ocak 2006
Mesajlar
60
Excel Vers. ve Dili
2010 Türkçe
Ağ üzerinden ana makine den Z:\dst70 klasörümün içinde "data20, data21, data22, data23" klasörlerim var bu klasörlerin içindekileri BAT dosyası ile bu klasörlerin isimlerini yazarak her gün gün sonunda WinRAR ile sıkıştırılarak kullandığım bilgisayarımın D: Klasörün yedek_2023 klasörüne yedek almak istiyorum. data20, data21, data22, data23 klasörlerin içindeki her data dosyaları kendi klasöründe yedeklenecek günün tarihini yazarak yedeklenecektir. Bu konuda nasıl bir BAT dosya kodu yazarak yapabilirim.?
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Bir klasör için aşağıdaki şekilde yapılabilir.
Diğer klasörler için aynı bat dosyası için kodu kopyalayıp ilgili yerleri değiştirin.

Kaynak: https://stackoverflow.com/questions/51145797/how-to-compress-multiple-folders-into-one-with-batch-file


C#:
@echo off
echo STARTING BACKUP...
echo %date% %time%
echo+

:: variables
set src=Z:\Dsoft70\DATATS20
set dest=D:\yedek_2023

set filename=%DATE:/=-%_%TIME::=-%
set filename=%filename: =%
Set Rar=%ProgramFiles%\WinRar\WinRAR.exe

"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

echo Backup Completed!
@pause
 
Son düzenleme:
Katılım
14 Ocak 2006
Mesajlar
60
Excel Vers. ve Dili
2010 Türkçe
Teşekkür ederim hocam ,
verdiğiniz kod çalışmadı bat dosyasını çalıştırdığımda ekran açılıp 1 ve 2 saniye de kapanıyor ve yedekleme bitti diye mesaj veriyor ve yedek yapmıyor. Ana server makineden yedek alacağım klasör yolu şu şekilde dir. (Z:\Dsoft70) Z:\Dsoft70 klasörün altında yıllara göre klasörler var ve bu klasörlerin istediğim yıla ait yedekleme almak istiyorum, Örnek vermek gerekirse Z:\Dsoft70 klasörün altındaki yedek alacağım dosyalar şu şekilde dir. "DATATS20, DATATS21, DATAID23, DATAPB23, Datasoft_DefterBeyan_ISL, Datasoft_DefterBeyan_SM, DATADA," bu klasörlerin içindeki belgeler tırnak işareti içindeki gibi D:\yedek_2023 klasörün içine yedeklemek istiyorum (d:\yedek_2023 klasörü benim kullandığım bilgisayarıma ait yedekleme bölümü dir.
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Yani kod direkt çalışmaz ki.

Kodda kendi yapınıza göre düzenleme yapmanız gerekiyor.
SRC kaynak klasör, Dest: Hedef klasör
Bu şekilde düzenlemeler yapanız gerekiyor.

set src=Z:\Dsoft70\DATATS20
set dest=D:\yedek_2023


Ayrıca winrar programı Program Files klasöründe olmalı. Program Files x86 da değil.

Set Rar=%ProgramFiles%\WinRar\WinRAR.exe
 
Katılım
14 Ocak 2006
Mesajlar
60
Excel Vers. ve Dili
2010 Türkçe
src kaynak klasör ve diğerleri kendime göre ayarladım. Bu sefer diğer klasörleri almıyor hata veriyor mesela z:\Dsoft70\ DATATS20 bu şekilde yedekleme çalışıyor kaynak dosyanın içinde başka klasörleri de dahil etmek istediğim de ise Belirtilen yol geçersiz diye mesaj veriyor yedek yapmıyor.
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Bu iki satırı klasör sayısı kadar çoğaltın.
Aşağıdaki örnek yaptım.

set src=Z:\Dsoft70\DATATS21
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

C#:
@echo off
echo STARTING BACKUP...
echo %date% %time%
echo+

:: variables
set dest=D:\yedek_2023
set filename=%DATE:/=-%_%TIME::=-%
set filename=%filename: =%
Set Rar=%ProgramFiles%\WinRar\WinRAR.exe


set src=Z:\Dsoft70\DATATS20
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

set src=Z:\Dsoft70\DATATS21
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

echo Backup Completed!
@pause
 
Katılım
14 Ocak 2006
Mesajlar
60
Excel Vers. ve Dili
2010 Türkçe
Hocam çok teşekkür ederim çok güzel oldu. Allah sizden razı olsun.
Tek bir şey kaldı o da Yedek klasörün başına Sal29.08.2023_17-14-50,27 diye isim ile başlıyor (Sal) olmasın onu nasıl kaldırırım.
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Bu şekilde deneyin.


C#:
@echo off
echo STARTING BACKUP...
echo %date% %time%
echo+

:: variables
set dest=D:\yedek_2023

set CUR_YYYY=%date:~10,4%
set CUR_MM=%date:~7,2%
set CUR_DD=%date:~4,2%
set CUR_HH=%time:~0,2%
if %CUR_HH% lss 10 (set CUR_HH=0%time:~1,1%)
 
set CUR_NN=%time:~3,2%
set CUR_SS=%time:~6,2%
set CUR_MS=%time:~9,2%
 
set filename=%CUR_YYYY%%CUR_MM%%CUR_DD%-%CUR_HH%%CUR_NN%%CUR_SS%

Set Rar=%ProgramFiles%\WinRar\WinRAR.exe

set src=Z:\Dsoft70\DATATS20
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

set src=Z:\Dsoft70\DATATS21
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

echo Backup Completed!
@pause
 
Katılım
14 Ocak 2006
Mesajlar
60
Excel Vers. ve Dili
2010 Türkçe
Allah sizden razı olsun. Hocam son istek daha yedekleme bittiğinde hem ağdaki ana merkezi kapatsın hem de yedek aldığım makinayı kapatsın ilk önce ana merkezi daha sonra benim makinamı kapatsın.
 
Katılım
28 Ağustos 2023
Mesajlar
12
Excel Vers. ve Dili
Microsoft® Excel® 2016 (Sürüm 2312 64 bit)
Türkçe
Altın Üyelik Bitiş Tarihi
28-08-2024
Bu kodu dener misiniz (ilk defa deniyorum hatalı olabilir)

Kod:
@echo off
echo STARTING BACKUP...
echo %date% %time%
echo+

:: variables
set dest=D:\yedek_2023

set CUR_YYYY=%date:~10,4%
set CUR_MM=%date:~7,2%
set CUR_DD=%date:~4,2%
set CUR_HH=%time:~0,2%
if %CUR_HH% lss 10 (set CUR_HH=0%time:~1,1%)
 
set CUR_NN=%time:~3,2%
set CUR_SS=%time:~6,2%
set CUR_MS=%time:~9,2%
 
set filename=%CUR_YYYY%%CUR_MM%%CUR_DD%-%CUR_HH%%CUR_NN%%CUR_SS%

Set Rar=%ProgramFiles%\WinRar\WinRAR.exe

set src=Z:\Dsoft70\DATATS20
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

set src=Z:\Dsoft70\DATATS21
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

shutdown /s /m \\192.168.1.100

shutdown /s /t 0

echo Backup Completed!
@pause
 
Katılım
14 Ocak 2006
Mesajlar
60
Excel Vers. ve Dili
2010 Türkçe
Bu kodu dener misiniz (ilk defa deniyorum hatalı olabilir)

Kod:
@echo off
echo STARTING BACKUP...
echo %date% %time%
echo+

:: variables
set dest=D:\yedek_2023

set CUR_YYYY=%date:~10,4%
set CUR_MM=%date:~7,2%
set CUR_DD=%date:~4,2%
set CUR_HH=%time:~0,2%
if %CUR_HH% lss 10 (set CUR_HH=0%time:~1,1%)

set CUR_NN=%time:~3,2%
set CUR_SS=%time:~6,2%
set CUR_MS=%time:~9,2%

set filename=%CUR_YYYY%%CUR_MM%%CUR_DD%-%CUR_HH%%CUR_NN%%CUR_SS%

Set Rar=%ProgramFiles%\WinRar\WinRAR.exe

set src=Z:\Dsoft70\DATATS20
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

set src=Z:\Dsoft70\DATATS21
"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

shutdown /s /m \\192.168.1.100

shutdown /s /t 0

echo Backup Completed!
@pause
Sayın
omerybalarisi vermiş olduğunuz kodu denedim her şey tamam ancak sadece Yedeği aldığım bilgisayarı kapatmayı gerçekleştirdi Ana makine kapanmadı.
Not: Ağa bağlı Ana severden kullandığım bilgisayara yedek alıyorum, yedekleme bittikten sonra ilk önce Ana Bilgisayar onun ardından yedek aldığım bilgisayar kapansın.
 
Katılım
5 Kasım 2020
Mesajlar
10
Excel Vers. ve Dili
Office 2021 / Türkçe
Altın Üyelik Bitiş Tarihi
12-09-2024
Ağ yapınız domain mi? Workgroup mu ?
Buna göre önce ana makinada policy ayarlaması gerekir. Daha sonra net use ile ana makinaya login olmalısın. (Administrator yetkili kullanıcı olamalı)
İnternette bunun örneği çok var ön hazırlık için araştırma yapmanı öneririm.
Sonrasında arkadaşların verdiği “shutdown //ipadresi” kodu çalışabilir.
 
Katılım
14 Ocak 2006
Mesajlar
60
Excel Vers. ve Dili
2010 Türkçe
Workgroup dır.
 
Üst