Forum

Bildirimler
Hepsini Temizle

Dosya duzenleme

5 Yazılar
2 Üyeler
2 Reactions
828 Görüntüleme
(@mustafaakkus)
Gönderiler: 73
Trusted Member
Konu başlatıcı
 

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 6 yıl önce Mustafa AKKUS tarafından düzenlendi
 
Gönderildi : 17/05/2019 22:10

(@enginkosova)
Gönderiler: 375
Üye
 

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.
*****************************************************************

 
Gönderildi : 17/05/2019 23:56

(@mustafaakkus)
Gönderiler: 73
Trusted Member
Konu başlatıcı
 

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

 
Gönderildi : 18/05/2019 00:30

(@enginkosova)
Gönderiler: 375
Üye
 

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.
*****************************************************************

 
Gönderildi : 18/05/2019 01:00

(@mustafaakkus)
Gönderiler: 73
Trusted Member
Konu başlatıcı
 

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

 
Gönderildi : 18/05/2019 13:16

Paylaş: