[BAT SCRIPT] Oluşturma Tarihi ve Zamanını Dosya Ad(lar)ına Eklemek

Programlama ve Script dilleri konusunda bilgi paylaşım alanıdır.
Kullanıcı avatarı
esatiz
Gigabyte3
Gigabyte3
Mesajlar: 2681
Kayıt: 30 Eki 2020, 11:18
cinsiyet: Erkek
Teşekkür etti: 399 kez
Teşekkür edildi: 451 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek - Çözüldü

Mesaj gönderen esatiz »

Neredeyse 3 ay geçmiş... Çözüldü mü bu sorun :?:
Kullanıcı avatarı
shampuan
Petabyte4
Petabyte4
Mesajlar: 8464
Kayıt: 13 Tem 2018, 17:11
Teşekkür etti: 200 kez
Teşekkür edildi: 360 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen shampuan »

Haşırt! Yine gereksiz bir ayrıntıyı araya koyup gidicem. @feuer'in son eklediği gif, yani adamın monitörü fırlattığı ofis ortamı "The IT Crowd" dizisindendir. Çok güzel çok mükemmel pek komik bir dizidir. İzlemeyeni dövüyolar. Teşekkürler şimdi devam edebilirsiniz :-D
Kullanıcı avatarı
feuer
Terabyte1
Terabyte1
Mesajlar: 3996
Kayıt: 24 Eyl 2020, 01:33
cinsiyet: Erkek
Teşekkür etti: 124 kez
Teşekkür edildi: 225 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen feuer »

velociraptor yazdı: 24 May 2021, 18:14 https://www.sordum.net/59821/dosya-ismi ... lave-edin/

Yol = resim dosyalarının içinde bulunduğu klasör yolu
.jpg = Bu kısmı Png olarak veya farklı bir format olarak değiştirbilirsiniz

setlocal enabledelayedexpansion

for %%F in ("Yol\*.jpg") do (
set "MDate=%%~tF"
set "ParsedDate=!MDate:~0,2!.!MDate:~3,2!.!MDate:~6,4!"
REM To add time
set "ParsedDate=!MDate:~0,2!.!MDate:~3,2!.!MDate:~6,4!_!MDate:~11,2!.!MDate:~14,2!"
copy %%F %%~dpnF_!ParsedDate!%%~xF.new )

copy %%F %%~dpnF_!ParsedDate!%%~xF.new )
for %%F in ("Yol\*.jpg") do (
del %%F )
ren "Yol\*.new" *.
exit
@velociraptor abi sen sıcağı sıcağına yanıt yazmışsın ben bu yanıtı gözden kaçırmışım, ancak şu mesajı yazdığım an itibariyle denemedim.
esatiz yazdı: 15 Ağu 2021, 18:19 Neredeyse 3 ay geçmiş... Çözüldü mü bu sorun :?:
@esatiz konuyu hatırlattığın için teşekkür ederim. Bıraktığımdan sonra bir daha denemedim ancak todo listimde duruyor halen.
Yakın zamanda ev taşıdık, yerleştirmesi devam ediyor. Hastane randevularımız sıklaştı. İş güç yoğun zamanlar, düze çıkayım en başta volociraptorun verdiği örneği denemek ile işe başlayacaım. Sen denedin sonuç aldın mı?
shampuan yazdı: 15 Ağu 2021, 20:54 Haşırt! Yine gereksiz bir ayrıntıyı araya koyup gidicem. @feuer'in son eklediği gif, yani adamın monitörü fırlattığı ofis ortamı "The IT Crowd" dizisindendir. Çok güzel çok mükemmel pek komik bir dizidir. İzlemeyeni dövüyolar. Teşekkürler şimdi devam edebilirsiniz :-D
Sinirlendiğimde eşya kırmışlığım çoktur. Bu sebeple çok başımın ağrımışlığı da çoktur. Camdan tv atmışlığım var masa sandalye atmışlığım var öyle diyim, ancak maddi olanaklar eskisi gibi değil şu ara küçük sephalar, plastik eşyalar ile idare ediyorum. Pentium 1 bilgisayara kızdığımızda kasanın tepesine yumruk koyardık hey gidi günler hey, şimdi 3 kuruşluk laptopa gözümüz gibi bakıyoruz.

Konuyu hatırlattığınız için tekrar teşekkür ederim.
anxious
Byte3
Byte3
Mesajlar: 113
Kayıt: 11 Mar 2015, 07:56
Teşekkür edildi: 1 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen anxious »

@feuer İstediğinizi autoit ile yazabilirim,fakat siz cmd komutları istemişsiniz.
Tüm resim formatlarını destekleyen basit kullanımlı bir autoit kodu istermisiniz?
Kullanıcı avatarı
feuer
Terabyte1
Terabyte1
Mesajlar: 3996
Kayıt: 24 Eyl 2020, 01:33
cinsiyet: Erkek
Teşekkür etti: 124 kez
Teşekkür edildi: 225 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen feuer »

@anxious öncelikle ilgilendiğiniz için teşekkür ederim.
Aslında autoit ve ahk ile de yapılabilir bu olay hatta ps ve vbs ile de olabilir ama sadece bat/cmd olmasını istedim.
Ancak yapar ve paylaşırsanız o şekilde bir örneğimiz de olmuş olur ve farklı fikirler verebilir.
Kullanıcı avatarı
esatiz
Gigabyte3
Gigabyte3
Mesajlar: 2681
Kayıt: 30 Eki 2020, 11:18
cinsiyet: Erkek
Teşekkür etti: 399 kez
Teşekkür edildi: 451 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen esatiz »

anxious yazdı: 16 Ağu 2021, 02:45 @feuer İstediğinizi autoit ile yazabilirim,fakat siz cmd komutları istemişsiniz.
Tüm resim formatlarını destekleyen basit kullanımlı bir autoit kodu istermisiniz?
Olur hocam yapın isterseniz
feuer yazdı: 15 Ağu 2021, 23:28 Yakın zamanda ev taşıdık, yerleştirmesi devam ediyor. Hastane randevularımız sıklaştı. İş güç yoğun zamanlar,
Sen denedin sonuç aldın mı?
Kolay gelsin
@velociraptor un verdiği .new uzantılı resimler oluşturuyor ve salise yok, win7 kullanıyorum. Ancak şu bat dosyası işini görecek gibi:
(Koddaki c a n yazan satırlar gereksiz)

Kod: Tümünü seç

@echo off
del %temp%\file.vbs 2>nul
>>%temp%\file.vbs echo. Set fso = CreateObject("Scripting.FileSystemObject")
>>%temp%\file.vbs echo. Set f = fso.GetFolder(".")
>>%temp%\file.vbs echo. WScript.Echo "@echo off"
>>%temp%\file.vbs echo. For Each f1 in f.Files
>>%temp%\file.vbs echo. c = f1.DateCreated
>>%temp%\file.vbs echo. a = f1.DateLastAccessed
>>%temp%\file.vbs echo. m = f1.DateLastModified
>>%temp%\file.vbs echo. n = c
>>%temp%\file.vbs echo. WScript.Echo "ren "+String(1,34)+f1.name+String(1,34)+" "+String(1,34)+CStr(Year(m))+Right(100+Month(m),2)+Right(100+Day(m),2)+"_"+Right(100+Hour(m),2)+"h"+Right(100+Minute(m),2)+"m"+Right(100+Second(m),2)+"s_"+f1.name+String(1,34)
>>%temp%\file.vbs echo. Next
cscript //nologo %temp%\file.vbs>%temp%\file.bat
del %temp%\file.vbs
copy /y %temp%\file.bat . >nul
rem call %temp%\file.bat
Fakat bundaki sıkıntı dosya isimlerini sona alması. Cat_tarih.jpg olacağına tarih_cat.jpg oluyor

Ekleme: İsimleri başa alamadım ama yeni bir şey yaptım. Hangi klasörde olduğunu dosya isminin başına yazdırdım. Mesela tüm fotolarını tek bir yerde toplamak isteyen birisi bunu kullanabilir:

Kod: Tümünü seç

@echo off
del %temp%\file.vbs 2>nul
>>%temp%\file.vbs echo. Set fso = CreateObject("Scripting.FileSystemObject")
>>%temp%\file.vbs echo. Set f = fso.GetFolder(".")
>>%temp%\file.vbs echo. WScript.Echo "@echo off"
>>%temp%\file.vbs echo. For Each f1 in f.Files
>>%temp%\file.vbs echo. c = f1.DateCreated
>>%temp%\file.vbs echo. a = f1.DateLastAccessed
>>%temp%\file.vbs echo. m = f1.DateLastModified
>>%temp%\file.vbs echo. n = c
>>%temp%\file.vbs echo. WScript.Echo "ren "+String(1,34)+f1.name+String(1,34)+" "+String(1,34)+f.Name+"_"+CStr(Year(m))+Right(100+Month(m),2)+Right(100+Day(m),2)+"_"+Right(100+Hour(m),2)+"h"+Right(100+Minute(m),2)+"m"+Right(100+Second(m),2)+"s_"+f1.name+String(1,34)
>>%temp%\file.vbs echo. Next
cscript //nologo %temp%\file.vbs>%temp%\file.bat
del %temp%\file.vbs
copy /y %temp%\file.bat . >nul
rem call %temp%\file.bat
Hatta fotoları cat diye klasöre atarsın sonra son verdiğimi kullanırsın, dosyaların orijinal isimleri de yeni isimlerin sonunda kalmış olur. Total Commanderın yeniden adlandırma aracıyla Gerçek isimlere kadar olan kısımları silebilirsin istediğin zaman

Tekrar Ekleme: Bir dakika, salise bunda da yok.........
Kullanıcı avatarı
feuer
Terabyte1
Terabyte1
Mesajlar: 3996
Kayıt: 24 Eyl 2020, 01:33
cinsiyet: Erkek
Teşekkür etti: 124 kez
Teşekkür edildi: 225 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen feuer »

@esatiz boşa çıkayım bakacağım. Ben de sonuca yaklaşmıştım ama Türk zaman standartları komuta uyduramamıştım en son hatırladığım kadarıyla;

"Aldığın sonuçlarda gün ve ay doğru mu bir kontrol et"
En son feuer tarafından 16 Ağu 2021, 12:43 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
esatiz
Gigabyte3
Gigabyte3
Mesajlar: 2681
Kayıt: 30 Eki 2020, 11:18
cinsiyet: Erkek
Teşekkür etti: 399 kez
Teşekkür edildi: 451 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen esatiz »

Sonuçlarda tarihler doğru, Türk standartları şeklinde gün ay yıl diye düzeltemedim. Salise yok ki ama
Kullanıcı avatarı
feuer
Terabyte1
Terabyte1
Mesajlar: 3996
Kayıt: 24 Eyl 2020, 01:33
cinsiyet: Erkek
Teşekkür etti: 124 kez
Teşekkür edildi: 225 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen feuer »

yılaygün_saatdakikasaniyesalise olacak 20210816_12453010.png gibi
Komutlar ülke standartlarına göre çıktı verdiği için ingilizin komutla bulduğu sonuç farklı etki yapıyor onu editlemek gerekiyor.
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 54004
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 19838 kez
Teşekkür edildi: 12002 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen velociraptor »

esatiz yazdı: 16 Ağu 2021, 10:29 @velociraptor un verdiği .new uzantılı resimler oluşturuyor ve salise yok
Resim

https://www.sordum.net/59821/dosya-ismi ... lave-edin/
Kullanıcı avatarı
esatiz
Gigabyte3
Gigabyte3
Mesajlar: 2681
Kayıt: 30 Eki 2020, 11:18
cinsiyet: Erkek
Teşekkür etti: 399 kez
Teşekkür edildi: 451 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen esatiz »

Hocam bende .new uzantılı şeyler oluştu, w7 olduğundan olabilir
Kullanıcı avatarı
krocix
Kilobyte4
Kilobyte4
Mesajlar: 778
Kayıt: 30 May 2021, 18:01
Teşekkür edildi: 3 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen krocix »

https://stackoverflow.com/questions/110 ... -truncated
https://blog.devart.com/adding-timestam ... ename.html

sadece ben de bir şeyler buldum gibi oldu sanırım.Komut olayı ben de biraz sıkıntılı o yüzden herhalde ^^ Aynısı bile olabilir bulduklarınızın ama bpş geçmeyeyim diye verdim linkleri
Kullanıcı avatarı
feuer
Terabyte1
Terabyte1
Mesajlar: 3996
Kayıt: 24 Eyl 2020, 01:33
cinsiyet: Erkek
Teşekkür etti: 124 kez
Teşekkür edildi: 225 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen feuer »

krocix yazdı: 16 Ağu 2021, 16:58 https://stackoverflow.com/questions/110 ... -truncated
https://blog.devart.com/adding-timestam ... ename.html

sadece ben de bir şeyler buldum gibi oldu sanırım.Komut olayı ben de biraz sıkıntılı o yüzden herhalde ^^ Aynısı bile olabilir bulduklarınızın ama bpş geçmeyeyim diye verdim linkleri
bu ikincisine benzer bir scripti ben anlık tarih ve zamanı dosya adı sonuna eklemek için kullanıyorum.
Bu konuda aradığımız dosyanın oluşturma tarih ve zamanı, velociraptorun verdiği yöntemde saat ve dakika var, ek olarak, saniye ve salise de eklemek istiyorum.

ilk sayfada bulduğum yöntemlerden biri istediğimi vermeye çalışıyor ancak saliseye 0000 ekliyor ve ayı yanlış gösteriyordu.
Kullanıcı avatarı
feuer
Terabyte1
Terabyte1
Mesajlar: 3996
Kayıt: 24 Eyl 2020, 01:33
cinsiyet: Erkek
Teşekkür etti: 124 kez
Teşekkür edildi: 225 kez

Re: oluşturma tarihi ve zamanını dosya adına eklemek

Mesaj gönderen feuer »

Şu powershell komutu iş görüyor.

Kod: Tümünü seç

Get-ChildItem -File *.jpg | ForEach { Rename-Item $_ -NewName ( $_.BaseName + $_.CreationTime.ToString('_yyyyMMdd_HHmmssff') + $_.Extension ) }
Şu şekilde. bat dosyasına kayıt edilip istenilen klasörde çift tıklayıp kullanılabilir.

Kod: Tümünü seç

powershell.exe -command "Get-ChildItem -File *.jpg | ForEach { Rename-Item $_ -NewName ( $_.BaseName + $_.CreationTime.ToString('_yyyyMMdd_HHmmssff') + $_.Extension ) }"
png ve bmp için aynı .bat içinde sıralı komutlar yazılabilir.

Kod: Tümünü seç

powershell.exe -command "Get-ChildItem -File *.jpg | ForEach { Rename-Item $_ -NewName ( $_.BaseName + $_.CreationTime.ToString('_yyyyMMdd_HHmmssff') + $_.Extension ) }"
powershell.exe -command "Get-ChildItem -File *.bmp | ForEach { Rename-Item $_ -NewName ( $_.BaseName + $_.CreationTime.ToString('_yyyyMMdd_HHmmssff') + $_.Extension ) }"
powershell.exe -command "Get-ChildItem -File *.png | ForEach { Rename-Item $_ -NewName ( $_.BaseName + $_.CreationTime.ToString('_yyyyMMdd_HHmmssff') + $_.Extension ) }"
ya da komutta dosya tipleri , ile ayırılarak belirtilebilir.
*.jpg,*.png,*.bmp

Kod: Tümünü seç

powershell.exe -command "Get-ChildItem -File *.jpg,*.png,*.bmp | ForEach { Rename-Item $_ -NewName ( $_.BaseName + $_.CreationTime.ToString('_yyyyMMdd_HHmmssff') + $_.Extension ) }"
Eski dosya adı tamamen kaldırılıp yerine IMG şeklinde bir önad verilebilir.

Kod: Tümünü seç

powershell.exe -command "Get-ChildItem -File *.jpg,*.png,*.bmp | ForEach { Rename-Item $_ -NewName ( 'IMG' + $_.CreationTime.ToString('_yyyyMMdd_HHmmssff') + $_.Extension ) }"
$_.CreationTime.ToString('_yyyyMMdd_HHmmssff') ifadesi $_.LastWriteTime.ToString('yyMMdd_HHmmssff') ile değiştirilirse dosya adına oluşturma değil değiştirme tarihi-zamanı eklenir.

Halen powershell'e ihtiyaç olmaksızın bu işlemin nasıl yapılacağını merak ediyorum.

bu başlıkta mustafa isimli kullanıcının verdiği örneklerden fikir aldım;

https://www.sordum.net/59821/dosya-ismi ... lave-edin/

googleda powershell CreationTime.ToString diye aradım bunlara ulaştım;

https://stackoverflow.com/questions/679 ... powershell
https://stackoverflow.com/questions/575 ... -on-a-path
https://stackoverflow.com/questions/249 ... -format-it

EDIT
ilk mesaja eklendi, düzenlendi.
En son feuer tarafından 18 Eyl 2021, 14:35 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 54004
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 19838 kez
Teşekkür edildi: 12002 kez

Re: Oluşturma Tarihi ve Zamanını Dosya Ad(lar)ına Eklemek

Mesaj gönderen velociraptor »

Eline sağlık , ozaman çözüldü diyebiliriz.
Cevapla

“Programlama ve Script dilleri” sayfasına dön