Cmd ile yalnızca belirli dosyaları taşı


0

Çok sayıda dosyam var, örneğin 1000, bir listeye sahip olduğum farklı isimler. Belirli dosyaları (varsayalım 400) herhangi bir dizine taşımak istersem, bunu nasıl yapabilirim?

Sorun, dosyaların kendilerine bir uzantısı yok, dosya uzantısına sahip değiller, bu yüzden onları uygun şekilde sıralayamıyorum ve sonra taşıyamıyorum.

Bu 400 dosya adını koyduğum ve bazı 'move' komutları ile bunları belirli bir klasöre taşıdığım herhangi bir komut var mı? Veya bir toplu iş dosyası ile bunu yapabilir miyim?


Hangi işletim sistemindesiniz?
slhck

BSD, OS X veya Linux kullanıyorsanız, file komutunu find ile birlikte kullanabilirsiniz . Eğer windows kullanıyorsanız, o zaman onların windows versiyonlarını bulmanız, cygwin'i kurmanız veya bir liveCD'den boot etmeniz gerekecektir.
Hennes

1
dosya adlarında herhangi bir kalıp var mı? yazdıklarınızı karınca ve bağışta bulunan dosya türleriyle güncelleyin
Shekhar

Aslında ben windows xp (hizmet paketi 3) var ve dosya isimleri benzersiz ve hepsinde alfanümerik isimler var (bu yüzden içinde dosyaları sıralayabileceğimiz bir kalıp yok)
Chirag Verma

1
El ile yapmak istemiyorsanız, istediğiniz dosyalarda bir tür benzerlik olması gerekir. Bu dosyalar tarayıcı önbellekleri mi?
Shekhar

Yanıtlar:


0

Windows'ta, Powershell'de:

Get-Content .\FilesToMove.txt | ForEach-Object { Move-Item $_ C:\Destination\Path\ }

Daha sonra dosyaların adlarını her satıra bir tane olmak üzere, FilesToMove.txt dosyasına koyarsınız.

Veya, PowerShell'iniz yoksa, toplu iş dosyasında böyle bir şey deneyin:

for /f "delims=" %%i in (FilesToMove.txt) do echo F|xcopy "C:\Source\Path\%%i" "c:\Destination\Path\%%i" /i /z /y

FilesToMove.txt dosyanız bir dizinden diğerine kopyalamak istediğiniz dosya adlarına sahip olmalıdır. Daha sonra FilesToMove.txt dosyasını kaynak dosyalarla aynı dizine yerleştirirsiniz ve toplu iş dosyası da aynı dizine gider.

Dosyaların tam yollarını kullanmak istiyorsanız, onları herhangi bir yere yerleştirebilirsiniz, sanırım ve komutu uygun şekilde değiştirmek istersiniz.

Bu bir kopya yapacak. Dosyaları daha sonra silmek istiyorsanız toplu iş dosyanıza ikinci bir satır ekleyebilirsiniz:

for /f "delims=" %%i in (FilesToMove.txt) do del C:\temp\FolderA\%%i

Tamam, ama bu güç kaynağı nedir, bilgisayarımda yüklü XP (SP-3) 'ü kazandım. Bunu CMD penceresinde çalıştırabilir miyim, çalışıyor mu?
Chirag Verma

Cevabı toplu iş dosyasında çalışacak umarım bir şeyle güncelleştirdim.
Jack,

tamam, kodunuza göre bazı örnek testler yapıyorum ve bu benim için işe yarayıp yaramadığını size 5 dakika içinde bildirir. tamam !
Chirag Verma,

hey, bunu test1.bat dosyama koydum, ancak hiçbir şey olmuyor: / f "delims =" için %% i (FilesToMove.txt) içinde eko yapmak D | xcopy "D: \ eiti \ pics \ wallpapers %% i "" D: \ eiti \ pics \ duvar kağıtları \ hareket \ %% i "/ i / z / y, burada hatanın ne olduğunu bana söyleyebilir. duvar kağıdı klasörü taşımak istediğim dosyalara sahip ve taşı (duvar kağıdı klasörü içindeki klasör) hedef klasör
Chirag Verma 30:13

Jack, başka bir yerde bunun için bir çözüm buldum, fakat sizin de verdiğiniz bu çözümü bilmem gerekiyor; yedek olarak, bulduğum çözüm işe yaramadıysa. teşekkürler
Chirag Verma
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.