2Sep
Standardmappfusionsbeteendet i Mac OS X är att radera den befintliga mappen, radera alla dess filer istället för att erbjuda att fusionera dem intelligent. Windows- och Linux-filhanterare har erbjudit mappfusion i årtionden, men Macs gör det fortfarande inte.
Det finns ett doldt sammanfogningsalternativ i Finder, men det fungerar bara ibland. Apple innehåller också ett terminalkommando för att slå samman mappar på ett annat sätt. Om du är en Windows-användare eller Linux-användare som använder OS X, är det här ganska svårt.
Finderens brutna filmatningsbeteende
Detta problem uppstår när du försöker flytta en mapp till en plats där det redan finns en annan mapp med samma namn. I Windows och Linux försöker filhanterare hantera detta intelligent. De kombinerar filerna i de två mapparna i en enda mapp med samma namn.
Om det finns en filkonflikt, frågar filhanteraren vad du ska göra med den specifika filen. Om du har använt Windows eller Linux är du förmodligen bekant med detta beteende. Du har nog aldrig tänkt mycket på det, för det fungerar bara.
Finder på Mac OS X är inte så smart. Som standard erbjuder det bara två alternativ - Stopp eller ersätt. Stopp gör inget, medan Byt ersätter den gamla mappen med den nya mappen. Byter den gamla mappen faktiskt tar bort alla filer i den gamla mappen .Finder erbjuder inte att sammanfoga mapparna.
Ja, du läser det rätt - försök att sammanfoga en mapp som du skulle på Windows eller Linux och du kommer att förlora alla gamla mappens filer om du klickar på Ersätt utan att läsa dialogrutan. Vi hoppas att du hade några senaste Time Machine-säkerhetskopior innan du började flytta mappar runt på Mac OS X!
Om du någonsin ser den här dialogrutan när du försöker flytta en eller flera mappar, borde du antagligen bara klicka på Stopp. Det gör förmodligen inte vad du vill att den ska göra.
Så här sammanfogar du mappar i Finder
Finder har faktiskt en mappfusionsfunktion, men den erbjuder inte den när du kanske vill ha den. I stället måste du använda ett hemligt handslag för att komma åt det.
Mac OS X 10.7 Lion - släppt 2011 - lade till ett doldt sammanfogningsalternativ. För att komma åt det måste du hålla ner alternativknappen när du drar och släpper en mapp till samma plats. Om du gör det ser du en dialogruta med en sammanslagningsknapp och du kan klicka på den för att slå samman mappar som du skulle på Windows eller Linux.
Problem uppstår när du har filer med samma namn i varje mapp. Mac OS X erbjuder ett alternativ som hjälper dig att hantera detta - en "Håll nyare" -knappen som skriver över de äldre versionerna av alla filer med samma namn med de nya. Det finns inget sätt att hoppa över dessa konflikter eller behålla de äldre filerna, och det finns inget användbart verktyg som låter dig jämföra storlekar och annan information. Det är allt-eller-ingenting.
Alternativet "Håll nyare" visas bara om den mapp du flyttar innehåller de nyare filerna. Om den mapp du flyttar innehåller de äldre filerna visas inte sammanslagningsalternativet - även om du håller knappen Alternativ.
Kanske är sammanslagningsalternativet så bra dold eftersom det inte fungerar bra. Det är typ av pinsamt.
Så här sammanfogar du mappar med Ditto-kommandot
För att hjälpa dig att sammanfoga mappar korrekt har Apple lagt till bättre mappfusionsfunktionalitet till ett terminalkommando som heter "ditto".( Varför fixade de inte bara Finder, vi är inte säkra.)Ditto-kommandot är en förbättrad version av standard Unix cp-kommandot, som du också kan använda om du vill.
Till skillnad från Finder fusionerar ditto mappar automatiskt. Eftersom den manuella sidan sätter den:
"Om destinationskatalogen redan finns existerar källkatalogerna med det föregående innehållet i destinationen."
För att kunna använda ditto måste du öppna en terminal - tryck på Kommando + Mellanslag, skriv Terminal i Spotlight-sökdialogrutan och tryck på Enter.
Kommandot ditto använder syntaxen ditto /path/to/source/-mappen /path/to/destination/-mappen .Så, i vårt exempel här, har vi en mapp med namnet "Test" lagrat på vårt skrivbord, och en annan mapp med namnet "Test" lagrad i mappen Nedladdningar. Vi skulle köra följande kommando för att sammanfoga dem:
ditto -V ~ /Desktop/ Test ~ /Downloads/ Test
( -V-delen av kommandot är valfritt, men det låter oss se vad ditto faktiskt gör. Ta gärna ut det.)
Till skillnad från Finder skriver ditto-kommandot medvetet innehållet i målmappen med innehållet i källmappen.Även om källkatalogen innehåller äldre filer än målmappen, kommer destinationsmappens motstridiga filer att skrivas över med dessa äldre filer.
Så här sammanfogar du mappar, Windows eller Linux Style
Du behöver en tredjepartsverktyg för att slå samman mappar som du skulle på Windows eller Linux, med anvisningar för varje enskild filkonflikt och möjligheten att göra val om vilka filer du villha kvar. Vi sökte högt och lågt ute efter bra, fri programvara som skulle jämföra filkonflikter och låta dig välja intelligent, men vi hittade inga bra. Lämna en kommentar om du hittat ett gratis verktyg som fungerar bra!
Den här funktionen är tillgänglig i betald programvara. Vi testade Cocaotech's Path Finder, ett Finder-alternativ, och fann att det erbjöd en sammanslagningsfunktion som fungerar som du skulle förvänta dig. Vid $ 40 är det en dyr mappfusionsfunktion, men kanske du hittar dess andra funktioner också användbara. Vi är säkra på att andra betalda applikationer erbjuder liknande funktioner.
Du kan alltid bara öppna båda mapparna och flytta filerna i en mapp till insidan av den andra mappen, genom att gå igenom filkonflikter i Finder på så sätt. Det här är inte ett bra alternativ om du har flera nivåer av kapslade mappar - det är mycket arbete att göra rekursivt.
Den här artikeln skrevs om OS X 10.9 Mavericks, så förhoppningsvis kommer Apple att lägga till korrekt mappfusion i framtiden. Men håll inte andan - fusionerande mappar är en ganska komplicerad power-user-funktion Apple tycks inte oroa sig för.