Belirli dosyaları birden çok klasörden başka bir hedefe kopyala


0

Müzik kitaplığımdaki birden fazla klasördeki kaynaklarından gelen yaklaşık 1.500 MP3 dosyasını sanatçının oluşturduğu klasörlerde düzenlenen bir atlama sürücüsüne yeniden kopyalamaya çalışıyorum. İşte atlama sürücüsünden bir örnek:

I:\Coldplay\A Message.mp3  
I:\Coldplay\Low.mp3  
I:\Coldplay\Speed of Sound.mp3  
I:\Coldplay\Square One.mp3  
I:\Coldplay\The Hardest Part.mp3  
I:\Coldplay\White Shadows.mp3  
I:\Coldplay\A Sky Full of Stars.mp3  
I:\Coldplay\Always in My Head.mp3  
I:\Coldplay\Ink.mp3  
I:\Collective Soul\All That I Know.mp3  
I:\Collective Soul\Bearing Witness.mp3  
I:\Collective Soul\Good Morning After All.mp3  
I:\Collective Soul\Hollywood.mp3  
I:\Collective Soul\I Don't Need Anymore Friends.mp3  
I:\Collective Soul\Never Here Alone.mp3  
I:\Collective Soul\New Vibration.mp3  
I:\Collective Soul\Persuasion of You.mp3  
I:\Collective Soul\What I Can Give You.mp3  
I:\Collective Soul\Dig.mp3  
I:\Collective Soul\Fuzzy.mp3  
I:\Collective Soul\Hymn For My Father.mp3  
I:\Collective Soul\Lighten Up.mp3  
I:\Collective Soul\Love.mp3  
I:\Collective Soul\She Does.mp3

Kaynak sanatçı adı / albüm başlığına göre düzenlenir, bu nedenle Coldplay ve Collective Soul'un şarkılarının Coldplay ve Collective Soul klasörlerinden ayrılmış çok sayıda farklı kaynak klasörü vardır. Ayrıca her kaynak klasördeki tüm şarkılar atlama sürücüsüne kopyalanmaz, yalnızca seçilen şarkılar üzerine kopyalanır. Bu nedenle, işletim sistemine manuel olarak birer birer (sıkıcı!) Dışında kopyalanacak kaynak dosyaları nerede bulacağınızı söylemenin bir yolunu bulamıyorum. Ayrıca "DIR / B / S> USB_List.txt" yaparak bir metin dosyasına sahibim. Herkes bunları bir toplu iş veya For komutu kullanarak kopyalamanın bir yolunu düşünebilir mi? Yoksa bu mümkün mü? Teşekkürler.


"kopyalama" .. bu en kolay kısmı. Asıl sorun "ne soruyorsun?" ... copy-komutundan sonra bazı dosyalar eksik mi? ya da hepsini seçmek istemez misiniz? İkincisi ise, onları nasıl seçmek istersiniz?
akira

Bir atlama sürücüsünde bu 1.500 MP3 dosyaları var. Kaynakta son zamanlarda jpeg kapak resmini MP3'e gömdüm. Şimdi eski atlama sürücüdeki tüm dosyaları (gömülü jpeg sans) kaynaktaki yeni gömülü jpeg MP3 dosyalarını kullanarak eski atlama sürücüde göründükleri sırayla yeni bir atlama sürücüsüne kopyalamak istiyorum .
BillDOe

bu nedenle, tüm değiştirilmiş .mp3 dosyalarını (.jpg içeren) istersiniz.
akira

Örnek olarak kaynaktaki dosya yapısını da gösterirseniz yardım edebilir.
Sun

Akira, jpegler MP3 dosyalarına gömülüdür; ayrı bir .jpg dosyası yok.
BillDOe

Yanıtlar:


0

Güncel gibi sanatçı \ albüm \ başlık biçiminde depolamak yerine, sanatçı \ başlık biçiminde istersiniz.

Bunu, istediğiniz dizinde Komut İstemi'nde deneyin:

1) alt klasördeki tüm dosyaları geçerli klasörün altına taşı 2) alt klasör adlarını sil

for /f "tokens=*" %f in ('dir /a:-D /s /b') do move "%f" .

for /f "tokens=*" %f in ('dir /a:D /s /b') do rd "%f"

Örneğin, burada bir MP3'niz olduğunu varsayalım: c: \ Cold Play \ Ghost Stories \ True Love.mp3

  • Komut İstemi'ne git
  • C: \ Cold Play (cd "\ Cold Play" konumuna gidin.
  • Aşağıdaki komutları çalıştırıyorum:

for /f "tokens=*" %f in ('dir /a:-D /s /b') do move "%f" .

for /f "tokens=*" %f in ('dir /a:D /s /b') do rd "%f"

Bu True Love.mp3'ü c: \ Cold Play konumuna getirecek ve Ghost Stories adlı dizini silecektir.

Bu yardımcı olur umarım.


Kaynak dizinlerini silmek istemiyorum. Atlama sürücüsündeki (I :) kaynaktan (D: \ Users \ kullanıcı adı \ müzik \ müzik) MP3 dosyalarını yeni bir atlama sürücüsüne kopyalamak istiyorum, G:
BillDOe

Yalnızca hedefte bulunan dosya adlarını kopyalamak istiyorsunuz, ancak kaynak hedefden farklı bir klasör yapısına sahip mi?
Sun

Sunk818, bu doğru. Kaynak, klasör yapısının bir parçası olarak albüm başlığına sahip, hedef yok.
BillDOe

0

bir toplu iş veya komut satırı I'deki dosyalara bakabilir ve bunları "D: \ Users \ kullanıcı adı \ müzik \ müzik ..." 'dan G:' ye kopyalayabilir.

Kopyalamak istediğiniz dosyaların bir listesini yapın DIR /B /S, iyi bir metin düzenleyicide açın, tüm "I: ..." 'yi "D: ..." ile değiştirin, listenin başka bir kopyasını açın, "I:' i değiştirin. .. "" G: ... "ile, içeriğin tamamını ilk dosyaya başka bir sütun olarak kopyalayın (sütun düzenleme modunu kullanarak) ve echo f | xcopyher satırın başına ( sütun düzenleme modunda da) ekleyin . Yeniden adlandırın .cmd / .bat, çalıştırın.


İşe yaramadı. G: sürücüsü zaten orada yaptığım klasörler dışında hala boş. İşte ortaya çıkan toplu iş dosyasının ilk satırı neye benziyor: echo f | xcopy D: \ Coldplay \ Mylo Zyloto Heaven.mp3 Gibi Acıyor G: \ Coldplay \ Mylo Zyloto Heaven.mp3 Gibi Acıyor. Sorun Mylo Zyloto-Hurts Heaven.mp3 gibi Coldplay dizininde değil ama D: \ Users \ ... \ Müzik \ Müzik \ Coldplay \ Mylo Xyloto \ Mylo Zyloto-Hurts Heaven.mp3 gibi.
BillDOe

Sanırım, atlama sürücüsündeki dosya adını kaynak yoluna eşlemek için Excel'i kullanabilirim, sonuçları bir metin dosyasına kaydedebilirim ve sonra belirli dosyaları bulmak ve yeni kaynama kopyalamak için FOR komut yapısını kullanabilirim. Sadece detayları bulmalıyım.
BillDOe

@BillOer Verileri -> Metin - Sütunlar kullanarak yolu bölmek için Excel'i kullanabilirsiniz (bu nedenle "Coldplay", "Mylo Zyloto", "Hurts Like Heaven.mp3" alırsınız) ve sonra da doğru formülleri kullanarak ( yani "Mylo Zyloto" bir üst dizin olarak eklenerek).
gino0631

Yapmayı planladığım şey dosya ismini çıkarmak ve sonra vlookup yaparak ilişkili yol adını almak. One-off'ları manuel olarak düzeltebilir, ardından bir FOR komutu çalıştırabilirim. Bugün sonra geri göndereceğim.
BillDOe

Basamaklarını kırdığına sevindim. Hedefte zaten mevcut olanların karşılaştırılması zor kısımdır.
Sun

0

Bu komutu çalıştırmayı deneyin

ROBOCOPY %%source%% %%destination%% /MIR /ZB /R:3 /W:1

Açıkçası, yer tutucuyu değiştirin.


Kaynak "D: \ Users \ kullanıcı adı \ müzik \ müzik \ ..." ve hedef I: veya G: 'dir. Bir toplu iş veya komut satırının I: 'deki dosyalara bakabileceğini ve bunları "D: \ Users \ kullanıcı adı \ müzik \ müzik \ ..."' den G: 'ye kopyalayabileceğini umuyordum. BEN:. / U anahtarını kullanarak xcopy kullanmayı denedim, ancak bu işe yaramadı, çünkü yalnızca komutun çalıştırılmasından bir seviye yukarı çıkan dosyaları bulur, örneğin D: \ Users \ username \ music \ music \, D: \ Users \ username \ music \ music \ Artist içindeki tüm dosyaları bulur ve kopyalar, ancak D: \ Users ... \ Artist \ AlbumName.
BillDOe

Robocopy sadece üzerine yazılır, üzerine yazılmaz. Sağlam Dosya Kopyalama anlamına gelir. Temelde ayrıntılı bir kopyalama komutudur - bir toplu iş dosyasında kullanabilirsiniz hatırla!
EdG
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.