Dizine bırakırken otomatik isimle aynı isimde dosyalar


1

Windows'ta, bir dosyayı aynı adı taşıyan bir dosyanın bulunduğu bir dizine taşıdığımda yeni dosyanın rastgele (veya <>. Ext) olarak yeniden adlandırılmasını nasıl sağlayabilirim?

Kullanım örneği: Cheezburger'i geziyorum, bir resmi sürükleyip bir klasöre bırakıyorum. Sorun: hepsine i.chzbgr.jpg => çakışma denir. Windows, değiştirmeyi veya hareket etmeyi teklif etmiyor, otomatik ad bile vermiyor ...


Evet, pencereler her iki dosyayı da saklamayı önerir. İngilizce bir Windows'da değil, ancak "Taşı, ancak her iki dosyayı da tut" gibi bir şey yazıyorsa, yeni dosya "çakışma adı (2)" adını alır.
Martin,

@ Martin: Her zaman değil. Bir dosyayı bir dizine kopyalayın. / Kopyalamak için deneyin aynı dosya taşımak ve Windows edecek birine soruyorum: iki dosyayı 1) Kopyala ve 2), 3) Kopyala etmeyin, değiştirin, ama tutun. Ancak , şimdi bir görüntüyü Firefox içinden bir dizine sürükleyin. Şimdi üzerine yazmak için tekrar sürükleyin. Sen seçenekleri 1 ve 2 görürsünüz, ancak değil sen / sürüklerken Temporary Internet Files dir gelen o kopyaları damla çünkü 3. IE üzerinde o biraz çalışır, bu yüzden sadece başka, normal kopyalama işleminin gibi. Tabii ki, IE ile biri köprülü görüntüleri sürükleyemiyor / bırakamıyor gibi görünüyor (yukarıdaki gravatarı denedim ve bunun yerine bir İnternet Kısayolu oluşturdum.)
Karan

Haklısın, daha önce farkına varmadım, garip.
Martin,

Yanıtlar:


1

Mükemmel bir çözüm değil, ancak yeni dosyalar için bir klasörü izleyen bir komut dosyasını bulup değiştirdim, yeni bir dosya algıladığında, dosyayı rasgele bir sayı ile otomatik olarak yeniden adlandırır. Kopyala aşağıdaki yapıştırın ve bir .ps1 dosyası olarak kaydedin. Powershell konsolundan veya cmd'den çalıştırın. (ps kodlarının çalışmasını etkinleştirdiğinizden emin olun).

$folder = 'Q:\Test\# Downloads'  # <-- Change as desired
$filter = '*.*'
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
 IncludeSubdirectories = $false        
 NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
 $path = $Event.SourceEventArgs.FullPath
 $name = $Event.SourceEventArgs.Name
 #$changeType = $Event.SourceEventArgs.ChangeType
 #$timeStamp = $Event.TimeGenerated
 if( $name -imatch "stop")
 {
    Unregister-Event -SourceIdentifier FileCreated;
    write-host "Monitoring stopped.";
    Exit(0);
 }
 else
 {
    $count=$(Get-Random -minimum 1 -maximum 999999);
    $p = Split-Path "$path" -Parent;
    $newName = "$p\$count-$name"
    while(test-path $newName)
    {
        $count=$(Get-Random -minimum 1 -maximum 999999);
        $newName = "$p\$count-$name";
    }
    Move-Item $path -Destination $newName -Force -Verbose
 }
}

"Stop" adlı bir dosyayı klasöre eklemek izlemeyi durdurur.


1

3 yaşında bir konu olduğunu biliyorum, ama belki birileri (benim gibi) bunu faydalı bulabilir.

  1. "___Stage" gibi küçük bir klasörü basit bir yere, belki de fotoğraf veya müzik depolamanızın kök dizinine yerleştirin.

  2. Bu klasörü masaüstünde bir yerde küçük bir [windows] explorer örneğinde açın. Görüntüyü tek bir dosyayı tutacak kadar görsel boyutta yeterince büyük yap - Yaklaşık 2 inç kare ayarlarım ve görüntüleme modunu çok hassas olmadan kapmak için yeterince büyük yapmak için büyük simgeye ayarladım.

  3. İnternet / firefox / chrome / etc 'nizi sürükleyip bırakın. bu klasörün görünüm bölmesine dosya.

  4. AGAIN öğesini bu klasörden istediğiniz hedef klasöre sürükleyip bırakın. Bu, MOVE adlı dizinin bir dizini olarak kabul edilir. Bu sihirli seçeneğinin kilidini açacaktır.

Viyola.

Yukarıda sadece masaüstüne sürüklemeye çalıştım, ancak "+" tuşunu basılı tutup "veya" tuşunu basılı tuttuğunuzda fare tuşunu basılı tuttuğunuzda fareyi kaydırın. masaüstünde bir dizinden farklı.

Bunun çok kabaca olduğunu biliyorum, ancak asla elinizi fareden çekmeniz veya adlandırma çelişkilerini avlamanız ve yeniden adlandırmanız gerekmiyor.

01.jpg, 01 (1) .jpg, 01 (2) .jpg 'a dayanamıyorsanız, onları ayrı ayrı yeniden adlandırmanız gerekir. Win7'nin # 3 seçenek işlevselliğini neden COPY seçeneğinden kaldırdığını ancak MOVE seçeneğine dahil ettiğini anlayamıyorum.

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.