Conflicten in gelijke filenames bij copy van windows nr OSX.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Coolstart
  • Registratie: April 2010
  • Laatst online: 06-10 22:06
Ik had graag de bestanden van mijn NAS (oorspronkelijk komen bepaalde bestanden van een Windows-omgeving) naar mijn gewone hardeschijf in mijn IMAC kopieren. Ik wil mijn NAS wegdoen en gewoon met DROPBOX verder werken op min Imac.

Maar...

Tijdens het transfereren van de 500GB en miljoenen bestanden kwam stoot ik op error. Conflicten in bestandsnamen.

Bijvoorbeeld:
Bestandsnaam1.jpg (127kb) en bestandsnaam1.jpg. (127kb) (twee gelijke bestanden, iets andere naam in de zelfde folder)

of: Bestands naam.docx en bestandsnaam.docx. Als die bestanden in ene zelfde map voorkomen zal Dropbox automatisch een 2de folder aanmaken en er (White Space conflict voozetten)

Ik wil dit graag oplossen met een script.

Op mijn NAS stonden die bestanden gewoon naast elkaar, maar als ik de bestanden op mijn Imac zet in de Dropboxmap stop hij het proces en ik kan helemaal opnieuw beginnen. Meestal weet ik het geconflicteerde bestand te vinden en zet ik er een a of b achter.

Ik zoek dus een script dat automatisch gelijke bestanden met als enige verschil een hoofdleter of spatie in zich hebben te hernoemen naar lower caps + een letter toevoegen bij 1 van de 2 bestanden. Het het klinkt al vrij 'intelligent'

Het script mag niet zomaar dubbele bestanden verwijderen, maar dan in in 1 folder. Anders ga ik teveel broken links hebben in mijn Indesign files en soms worden gelijnamige bestanden gebruikt in verschillende mappen: Bijv. contractovereenkomst.docx Er zijn wel meerdere overeenkomsten in verschillende projektmappen. Dit meoten wel blijven ;-)

Zijn er suggesties voor dat probleem?

Acties:
  • 0 Henk 'm!

  • z1rconium
  • Registratie: Augustus 2014
  • Laatst online: 17-09 11:26
Hier kan je ze min of meer mee hernoemen direct op je dropbox.
ik zou ipv do mv even een echo doen om te zien wat ie vind en hernoemt.

code:
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
find /dropboxdir | sort -f | uniq -i -d -D | sort | uniq -d > ~/case.tmp

i=0

for line in `cat ~/case.tmp`
    do mv $line $line.$i
    let i++
    done

echo "$i file(s) renamed".


om het automagisch te laten doen, zul je iets dmv rsync en pipe moeten doen.