Anasayfa » Forum

[Çözüldü] Dosya duzenleme  

  RSS
Mustafa AKKUS
(@mustafaakkus)
Yeni Ü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 4 hafta önce Mustafa AKKUS tarafından düzenlendi
Alıntı
Gönderildi : 17/05/2019 22:10
Engin Kosova
(@enginkosova)
Yeni Ü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 23:56
Mustafa AKKUS
(@mustafaakkus)
Yeni Ü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 00:30
Engin Kosova
(@enginkosova)
Yeni Ü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 01:00
Mustafa AKKUS
(@mustafaakkus)
Yeni Ü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 13:16
Engin Kosova beğendi
Paylaş:
  
Çalışıyor

Lütfen Giriş yap yada Kayıt ol