Anasayfa » Forum

[Çözüldü] Dosya duzenleme  

  RSS
Mustafa AKKUS
(@mustafaakkus)
Üye

Iyi aksamlar,

Fotoraflari yil ve aylara gore duzenlemek icin arayis icerisindesydim, asagidaki script i buldum (ay ve yil olrak dosyalari olusturyor, sonrada bu dosyalara fotoraflari tarihlere gore kopyalamasi gerekiyor):

$dest = "D:\test\" 
2002..2019 | foreach {
$annee = $_
1..12 | foreach {
$mois = get-date "01/$_/2000" -format 'MMMM'
New-Item -Path "$dest$annee\$mois$annee" -ItemType "directory" | out-null
}
}

$source = "D:\test\photos\"
Get-ChildItem $source -Include *.avi, *.mp4, *.mpg, *.mov, *.mpeg | foreach {
$fichier = $_
$annee = $fichier.LastAccessTime.Year
$mois = get-date $fichier.LastAccessTime -format 'MMMM'
Copy-item $fichier.FullName -Force -Destination "$dest$annee\$mois$annee"
}

Ay ve yila gore dosyalari istedigim sekilde olusturuyor ama kopyalama islemini yapmiyor? Sorun neden kaynaklaniyor?

Yardimlariniz icin simdiden tesekkur ederim

Bu konu 3 ay önce Mustafa AKKUS tarafından düzenlendi
Alıntı
Gönderildi : 17/05/2019 10:10 pm
Engin Kosova
(@enginkosova)
Üye Forum Yöneticisi

Merhaba,

Aşağıdaki satıra eklediğim gibi * ekleyerek tekrar deneyebilir misiniz?

$source = "D:\test\photos\*"

Ayrıca folder içerisinde zaten sadece belirttiğiniz uzantıda dosyalar var ise include kullanmanıza da gerek yok.

****************************************************************
Probleminiz çözüldüğünde sonucu burada paylaşırsanız,
sizin ile aynı problemi yaşayanlar için yardım etmiş olursunuz.
Eğer sorununuz çözüldü ise "çözüldü" olarak işaretlerseniz
diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 17/05/2019 11:56 pm
Mustafa AKKUS
(@mustafaakkus)
Üye

Merhaba,

Altakki satiraa * ekleyince oldu  gibi:

$source = "D:\test\photos\*"

Ama bir sorun daha var:

Get-ChildItem $source -Include *.avi, *.mp4, *.mpg, *.mov, *.mpeg | foreach { 

Satirinda -include gerek yok, ama silince photos dosyasi icersindeki alt dosyalardaki fotoraflari kopyalamiyor. Sadece photos icerisindeki dosya (bos dosya olarak kopyaliyor) ve fotoraflari kopyaliyor. Bu sorunu nasil cozebilirim?

Mustafa AKKUS

CevapAlıntı
Gönderildi : 18/05/2019 12:30 am
Engin Kosova
(@enginkosova)
Üye Forum Yöneticisi

ilgili satırı aşağıdaki şekilde -Recurse  ekleyerek deneyebilir misiniz?

Get-ChildItem $source -Recurse | foreach {

****************************************************************
Probleminiz çözüldüğünde sonucu burada paylaşırsanız,
sizin ile aynı problemi yaşayanlar için yardım etmiş olursunuz.
Eğer sorununuz çözüldü ise "çözüldü" olarak işaretlerseniz
diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 18/05/2019 1:00 am
Mustafa AKKUS
(@mustafaakkus)
Üye

Merhaba,

Oldu bu kez. Sonucta asagidaki sekilde oldu

dosyalari olusturmak:

$dest = "D:\test\" 
2002..2019 | foreach {
$annee = $_
1..12 | foreach {
$mois = get-date "01/$_/2000" -format 'MMMM'
New-Item -Path "$dest$annee\$mois$annee" -ItemType "directory" | out-null
}
}

 

Kopyalama islemi:

$source = "D:\photos\*" 
Get-ChildItem $source -Force -Recurse  | foreach {
$fichier = $_
$annee = $fichier.LastAccessTime.Year
$mois = get-date $fichier.LastAccessTime -format 'MMMM'
copy-item $fichier.FullName -Force -Destination "$dest$annee\$mois$annee"
}

 

Tesekkur ederim

Mustafa AKKUS

CevapAlıntı
Gönderildi : 18/05/2019 1:16 pm
Engin Kosova beğendi
Paylaş:
  
Çalışıyor

Lütfen Giriş yap yada Kayıt ol