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