Bestandsbeheer
- Zichtbaar maken van systeemmappen
- Zoeken
- Vervangers van Verkenner (Explorer)
- Vergelijken van bestanden en mappen
- Knippen en plakken
- Overzicht van grootste bestanden en mappen
- Verborgen informatiestromen (ADS) in bestanden
- Hard links: 1 fysiek bestand, in meerdere mappen aanwezig
- Hard links, soft links en junctions maken
- Lengte van bestands- en padnamen (en problemen daarmee)
- Problemen
- Links
Zichtbaar maken van systeemmappen
Bepaalde mappen zijn standaard verborgen, omdat Microsoft wil voorkomen dat onervaren gebruikers per ongeluk cruciale bestanden wijzigen of weggooien. Dat is een nobel streven, maar in sommige situaties moet je er toch echt in kunnen kijken.
Windows 7
Om tijdelijk of permanent in *alle* mappen te kunnen kijken doe je het volgende.
Klik linksboven op Organiseren (Organize)
, en dan op
Map- en zoekopties (Folder and search options)
Klik op het tabblad Weergave (View)
Klik op de radioknop Verborgen bestanden, mappen en
stations weergeven
(Show hidden files, folders and drives)
, en dan op
Toepassen (Apply)
Om er voor te zorgen dat de wijzigingen die je hebt aangebracht voor alle
mappen gelden, klik op de knop bovenin
Op mappen toepassen (Apply to folders)
Je krijgt dan de vraag
(Do you want all folders of this type to match this folder's view settings?)
,
die je natuurlijk met Ja (Yes)
beantwoordt.
Zoeken
Introductie
Zoeken van een bestand
De meest gebruikte zoekactie is ongetwijfeld het opsporen van een
bestand of map, waarvan je soms maar een deel van de naam kent.
Het hangt er van af of je ongeveer weet waar in de mappenstructuur het
bestand zich zou moeten bevinden, want dan kan je daar de zoekactie starten.
Als je de hele PC, of zelfs maar een hele schijf moet doorzoeken,
kan het een langdurige geschiedenis worden, tenminste als je gebruik maakt
van het in Windows ingebouwde Verkenner (Explorer)
.
Vandaar dat de meeste zoekprogramma's een database opbouwen van alle map- en bestandsnamen op je computer (tenminste van de schijven waarvan jij dat wilt). Die database wordt daarna continu bijgewerkt, wat betekent dat het zoekprogramma (of een component ervan) permanent actief moet zijn. Toegevoegde of weggegooide bestanden kunnen dan onmiddellijk in de database worden verwerkt.
Zoeken van een tekst in een bestand
Een andere nuttige, maar veel minder vaak gebruikte zoekactie, is het zoeken naar een bestand met een bepaalde tekst erin.
Programma's om mee te zoeken
Ik vind de in Windows ingebouwde zoekfunctie
3 keer niks, dus ik maakte tot zeer recent (aug. 2012) vnl. gebruik
van de zoekfunctie van mijn file manager, 2xExplorer
Ik heb inmiddels echter 2 speciale zoekprogramma's ontdekt die je geen van
beide hoeft te installeren, en die allebei verbluffend snel zijn.
Het gaat om Everything
en
Locate32
Alleen Locate32
kan ook bestanden met bepaalde teksten in de inhoud vinden.
Windows Search
Verkenner (Explorer)
maakt gebruik van de
service
Windows Search
Ik heb die service op de meeste van mijn computers uitgeschakeld, omdat ik de zoekfunctie sowieso slecht vind, met of zonder service.
Everything
Installatie en download
Van dit programma gebruik ik doorgaans de portable versie, d.w.z. dat ik hem niet hoef te installeren. Je kan er voor kiezen om het vanaf een USB stick te draaien, of gewoon vanaf de harde schijf. Je kan het hier downloaden.
Gebruik
Als het programma voor de 1e keer een database voor je PC aanmaakt ben je werkelijk verbijsterd door de ongelooflijke snelheid (alleen grote externe USB schijven zorgen voor enige vertraging). Binnen luttele seconden zijn de (meestal) honderdduizenden bestanden en mappen van je PC doorzocht. Waarom kan Microsoft dat soort dingen niet? Het is mij een raadsel.
Als je niet steeds een venster van het programma open wilt hebben
staan, kan je er voor kiezen om het via een icoontje
(van een loep) in het systeemvak
(system tray) actief te laten.
Als je wilt zoeken kan je er met rechts op klikken, en dan kiezen voor
New Search Window
Je hoeft in het invulvak bovenin maar een paar letters van bestands- of mapnaam in te vullen, en alles wat aan het criterium voldoet komt in het grote onderste vak te staan. Ook dat gaat razendsnel.
In het invulvak kan je ook zgn. reguliere expressies gebruiken, maar vooral programmeurs zullen dat interessant vinden.
Beperkingen
Everything
werkt alleen met schijven met het
NTFS-bestandssysteem (ook USB sticks).
Je kan met dit programma niet naar teksten in bestanden zoeken.
Hou er, als je portable versie gebruikt, rekening mee dat op de stick de database staat van de computer waar hij op dat moment in zit. Ik heb zelf voor elke computer maar een aparte map aangemaakt op de stick, want ik weet niet wat er gebeurt als je dat niet doet (database elke keer opnieuw aangemaakt? Ik ga het nog testen).
Problemen
Een externe USB-schijf met NTFS wordt niet meegenomen
Dit bleek te liggen aan een foute instelling in de opties.
Klik op Tools - Options
, en ga dan naar het tabblad
Volumes
Selecteer in het vak Local NTFS volumes
de schijf die niet meegenomen wordt.
Bij mij stond er geen vinkje in het vakje
Enable USN Journal Logging
Toen ik dat vakje wel aangevinkt had was het probleem opgelost.
Locate32
Dit programma is er in 2 verschillende versies, 32-bits en 64-bits. Je kan het o.a. hier downloaden.
Ik heb hier nog nauwelijks mee gewerkt, maar het lijkt wat complexer. Er zijn volgens mij ook meer instellingsmogelijkheden.
Vervangers van Verkenner (Explorer)
Introductie
Verkenner (Explorer)
is een programma met zeer
beperkte mogelijkheden.
Alleen al het feit dat je maar 1 venster hebt is ontzettend lastig.
Als je met 2 compleet verschillende mappen tegelijk bezig bent, bv. om de
inhoud te vergelijken, of om geselecteerde bestanden van de ene naar de andere
map te kopiëren, heb je eigenlijk maar 1 mogelijkheid.
Je opent 2 Verkenner
vensters, verkleint ze zodanig
dat ze allebei ongeveer de helft van het scherm innemen, en schakelt dan
steeds tussen beide heen en weer.
Maar er zijn talloze gratis programma's die 2 ingebouwde subvensters hebben, en bv. zelfs automatische mogelijkheden om de bestanden in 2 mappen (enigszins) met elkaar te vergelijken.
Ook de zoekfunctie van Verkenner
is dramatisch slecht.
Niet zozeer in dat je er weinig mee kan, maar vanwege de traagheid.
Ik heb zelf ervaring met 2 alternatieven,
2xExplorer
en FreeCommander
.
Beide programma's zijn gratis en hoef je niet te installeren.
2xExplorer
Dit programma kan je
hier downloaden.
Hou er rekening mee dat 2xExplorer
in 2004
officeel dood is verklaard door de maker ervan.
Hij heeft een verbeterde (vindt hij zelf) versie ontwikkeld, nl.
xplorer2
Zelf ben ik meer te spreken over de interface van het "dode" programma.
Wat ik vooral irritant vind is dat het nieuwe programma bij het zoeken
gebruikt maakt van een Verkenner
-achtig
mechanisme.
Met 2xExplorer
kan je veeeeeel plezieriger zoeken.
Desondanks gebruik ik het nieuwe programma ook regelmatig.
Er zitten wel de nodige bugs in 2xExplorer
, dus
een enkele keer moet ik noodgedwongen overstappen op een andere filemanager.
Aan de andere kant gaan bepaalde acties gepaard met
komische opmerkingen in de taakbalk, en dat maakt weer veel goed.
Als je bv. iets zoekt en er worden geen resultaten gevonden, dan volgt de
melding:
No matching items found -- why don't I self-destruct?
Ik wou maar dat wat meer programmeurs een dergelijk gevoel voor humor hadden.
FreeCommander
Dit programma kan je hier downloaden.
Vergelijken van bestanden en mappen
Soms werk je een bepaalde collectie bestanden op verschillende systemen (bv. thuis en op het werk) bij, en weet je op het laatst niet meer wat je naar waar moet kopiëren om weer een consistent geheel te hebben.
Er is een gratis tool, WinMerge
, waarmee je bestanden
van alle typen (dus niet alleen tekst) en mappen kunt vergelijken.
WinMerge
Je kan het programma hier downloaden. Het installatiebestand is het eenvoudigst voor minder gevorderde gebruikers, maar er is bv. ook een portable versie (voor gebruik op USB-sticks e.d.).
Knippen en plakken
Dit onderwerp hoort eigenlijk niet hier, maar voorlopig geen betere plek.
Tot Windows 10 kon je maar 1 object (tekst, plaatje, etc.) in de
knip- en plakbuffer in het geheugen (klembord (clipboard)) zetten.
Je selecteert iets door er op te klikken, en doet
Ctrl+C
(of
Bewerken (Edit) - Kopieren (Copy)
).
Met Ctrl+V
kan je het daarna weer plakken (of met
Bewerken (Edit) - Plakken (Paste)
).
Maar als je voor het plakken iets anders selecteert, en nog een keer
Ctrl+C
doet, heb je alleen nog het laatst
geselecteerde object.
In Windows 10 kan je meerdere items in de klembordbuffer opslaan.
Daarvoor moet je eerst Win+V
doen.
Je krijgt dan (als je het nog nooit eerder gedaan hebt) een venster met
de volgende tekst:
Kan geschiedenis niet weergeven
Bekijk al je gekopieerde items op 1 plek!
Schakel nu de klembordgeschiedenis in.
(Can't show history
See all your copied items in one place!
Turn on clipboard history now.)
Klik op Inschakelen (Turn on now)
Ctrl+C
zorgt er nog steeds voor dat het geselecteerde
item in de buffer belandt.
En Ctrl+V
plakt nog steeds het laatst gekopiëerde
item.
Maar je kan nu ook opnieuw Win+V
doen, en krijgt dan
een lijstje met alle gekopiëerde items, de meest recente bovenaan.
Wil je 1 van de oudere plakken, dan ga je met het pijltje naar beneden en
drukt op Enter
, of je klikt op het gewenste item.
Je kan de buffer zelfs synchroniseren met de 'cloud', zodat je de inhoud vanaf al je PC's met W10 kan benaderen. Later meer daarover.
Overzicht van grootste bestanden en mappen
Soms merk je ineens dat een harde schijf of USB-stick behoorlijk vol begint te raken.
De vraag is hoe je met zo weinig mogelijk moeite zoveel mogelijk ruimte kan winnen. Daarvoor is het nodig dat je een overzicht krijgt van alle mappen en bestanden, gerangschikt van veel ruimte in beslag nemen naar weinig.
Er bestaan talloze tools die dit kunnen, sommige gewoon als een lijst met
namen, sommige in grafische vorm.
Persoonlijk vind ik Folder Size
heel mooi, en dat
programma biedt beide mogelijkheden.
Folder Size
Je kan het programma hier downloaden. Er is een experimentele portable versie (maar die werkt tot nu toe goed bij mij) en een installeerbare versie.
Het programma heeft 4 subvensters, en als je het start is alleen het venster linksonder gevuld. Daar staat een lijstje met schijven, USB-sticks, etc., en voor elk hoe groot ze zijn, en hoeveel ruimte er nog vrij is.
In de drop-down list bovenin kies je de gewenste schijf.
Daarna klik je op
Scan - Scan Selected Drive
In het venster linksboven verschijnt nu een lijst met mappen, zoals je ook
van Verkenner (Explorer)
gewend bent.
In de 2 vensters rechts komt de informatie waar het ons hier om te doen is. Bovenin staat een lijst met mappen en bestanden, door elkaar heen, met degenen die de meeste ruimte in beslag nemen bovenaan. In percentages wordt uitgedrukt *hoeveel* ruimte ze in beslag nemen.
Onderin wordt hetzelfde nog een keer grafisch weergegeven, waarbij je kan kiezen voor een pie chart (taart met schijven) of een staafdiagram. Dat overzicht is wel veel beperkter, dus alleen de 5 a 10 allergrootste boosdoeners worden er op aangegeven.
Als de situatie voor een bepaalde map wilt bekijken kan je linksboven op die map klikken, en worden de 2 rechtervensters automatisch aangepast om alleen de inhoud van die map weer te geven.
Verborgen informatiestromen (ADS) in bestanden
Wat zijn datastromen?
Schijven kunnen geformatteerd zijn met een of andere variant van NTFS of (maar dat is steeds minder zo) met een variant van FAT
NTFS staat voor New Technology File System, en 1 van de nieuwe dingen is, dat elk bestand voorzien is van veiligheidsinformatie. D.w.z.: persoon A mag een bestand alleen maar lezen, maar het niet uitvoeren of er in schrijven. Een map mag wel onderdeel uitmaken van het pad naar een bestand dat persoon B wil bekijken, maar hij mag niet in de map kijken. Enz.
Daarmee komen we bij het begrip informatiestromen: elk bestand heeft standaard 2 informatiestromen (data streams), 1 voor veiligheidsinformatie en 1 voor de gewone informatie waar het ons eigenlijk om gaat.
Iets wat maar weinig mensen beseffen, is dat er naast die 2 normale stromen ook zogenaamde ADS-sen kunnen zijn, alternate data streams (alternatieve datastromen).
Wat maakt het uit dat er ADS-sen zijn?
Het probleem is dat Windows ze totaal niet duidelijk weergeeft, hoewel de situatie sinds Vista al beter is dan in XP en veel beter dan in Windows 98 en eerder. Daardoor kunnen kwaadwillenden (bv. virusmakers) hun software verbergen in een ADS in een schijnbaar onschuldig bestand. Ik zal dat aan de hand van een voorbeeld illustreren.
Ik heb een klein bestandje met 6 regels tekst en 208 tekens groot, met de
naam usbtst.txt
Vanaf de commandoregel heb ik de volgende
commando's gegeven om dit te verifiëren:
G:\>dir usbt*
Volume in drive G is Emtec zwart
Volume Serial Number is F44F-7139
Directory of G:\
19-02-2013 19:07 208 usbtst.txt
1 File(s) 208 bytes
0 Dir(s) 979.996.672 bytes free
G:\>type usbtst.txt
Warning: Only 1170 of 7636 MByte tested.
Test finished without errors.
You can now delete the test files *.h2w or verify them again.
Writing speed: 5.75 MByte/s
Reading speed: 20.0 MByte/s
H2testw v1.4
Met het commando dir usbt*
laat ik alle bestanden
zien die beginnen met 'usbt', en met het commando
type usbtst.txt
laat ik de inhoud van het bestand zien.
Tot zover geen problemen.
Maar nu ga ik het complete bestand notepad.exe
(Kladblok (Notepad)
) als nieuwe data stream in dit
kleine tekstbestandje proppen:
G:\>type c:\Windows\System32\notepad.exe > usbtst.exe:np.exe
G:\>dir usbt*
Volume in drive G is Emtec zwart
Volume Serial Number is F44F-7139
Directory of G:\
19-02-2013 19:09 0 usbtst.exe
19-02-2013 19:07 208 usbtst.txt
2 File(s) 208 bytes
0 Dir(s) 979.800.064 bytes free
G:\>
Het 1e commando dat ik uitvoer, type
is 1 manier om
een ADS aan te maken.
Het kan ook met andere commando's.
type bestandsnaam
drukt de inhoud van een
bestand op het scherm af, tenminste als het een tekstbestand is.
type bestandsnaam > bestandsnaam2
stuurt
de inhoud van het eerstgenoemde bestand naar het 2e.
En als je nou een ADS wilt creëren, dan plak je er nog een stukje aan vast:
type bestandsnaam > bestandsnaam2:
bestandsnaam3
Je hebt nu een ADS bestandsnaam3 binnen bestandsnaam2.
In dit geval hebben we dus een nieuwe data stream met naam
np.exe
binnen het tekstbestandje
usbtst.txt
aangemaakt.
En als je dan weer hetzelfde dir
-commando doet als
aan het begin zie je ook het verschil: er is een bestand
usbtst.exe
van 0 bytes groot bijgekomen.
In Verkenner (Explorer)
zie je precies hetzelfde.
Dat zal de gemiddelde computergebruiker niet veel zeggen.
N.B.: Deze testen zijn onder Windows 7 gedaan. Onder Windows XP zie je geen enkele verandering!!!
Er is sinds Vista (dus niet onder XP)
een manier om met de standaard Windows tools toch iets te
kunnen zien over de ADS, en dat is door de R
-optie aan
het dir
-commando mee te geven:
G:\>dir /r usbt*.*
Volume in drive G is Emtec zwart
Volume Serial Number is F44F-7139
Directory of G:\
19-02-2013 19:09 0 usbtst.exe
193.536 usbtst.exe:np.exe:$DATA
19-02-2013 19:07 208 usbtst.txt
2 File(s) 208 bytes
0 Dir(s) 979.800.064 bytes free
G:\>
Op de vetgedrukte regel staat de ADS nu duidelijk als data steam ($DATA) weergegeven, en je ziet ook dat hij maar liefst 193 KB groot is.
Er valt veel meer te vertellen over ADS-sen, bv. hoe je het programma
(in dit geval Kladblok
) dat nu als ADS in het
tekstbestand zit, kunt uitvoeren.
Maar daarvoor verwijs ik je voorlopig naar 2 artikelen in de
Links-sectie.
Onze voornaamste zorg is nu opsporen welke bestanden ADS-sen hebben, en of er ook gevaarlijke tussen zitten. In principe zou een *goede* virusscanner daar ook naar moeten kijken, maar er zijn ook gespecialiseerde tools voor.
StreamArmor
Je hoeft dit programma niet te installeren, en je kan het
hier
gratis downloaden.
Na het uitpakken staat de portable uitvoering in de map met toepasselijke naam
Portable
Je kan de hele computer scannen door het keuzevakje
Perform complete computer scan
(linksboven)
aan te vinken, of je kan in het invoerveld daaronder zelf bepalen wat je
wilt scannen.
Daarna klik je op Start Scan
Resultaten
Het programma geeft rechtsboven met 4 gekleurde vakjes weer hoeveel bestanden er ADS-sen hebben, en hoe gevaarlijk ze lijken te zijn. Op een schijf met 115.000 bestanden had ik 258 witte (ongevaarlijk), 0 rode (gevaarlijk) en oranje (dubieus), en 39 gele (moet even nader naar gekeken worden).
Het vak in het midden bevat een lijst met bestanden met ADS-sen. Als je op 1 van de gevonden bestanden klikt zie je in het witte vak daaronder wat er in de ADS zit.
Je zal sowieso heel veel bestanden met de naam
Zone.Identifier
tegenkomen.
Dat betekent dat de file gedownload is met
Internet Explorer
uit Zone 3 (het Internet heet
blijkbaar zo).
De meeste van de bij mij gevonden bestanden waren inderdaad
Zone.Identifier
Van de 39 die analyse nodig hadden (allemaal hetzelfde bestand) kon ik aan de
inhoud zien dat ze niet schadelijk waren.
Ik heb voor de aardigheid het programma ook even losgelaten op de USB-stick
waarop ik bovenstaand experiment heb gedaan.
En het tekstbestandje met daarin Kladblok
ziet hij
inderdaad als gevaarlijk, omdat er geen uitvoerbaar bestand in een tekstbestand
hoort te zitten.
Hard links: 1 fysiek bestand, in meerdere mappen aanwezig
Stel je hebt een overzichtelijke manier bedacht om al je bestanden te ordenen.
Op de harde schijf heb je bv. een map China
,
met alles over China, en een map Plaatjes
met
daarin foto's, tekeningen, etc.
Nu heb je foto's van je vakantie in China.
Zet je die in een nieuwe submap Fotos
binnen
de map China
, of zet je die in een submap
China
in de map
Plaatjes
.
Nog een optie is allebei te doen, maar dan verkwist je een hoop ruimte.
Een mogelijke oplossing is de hard link. Je kunt de bestanden op meerdere plaatsen *op dezelfde schijf* hebben staan, maar in wezen staan ze er maar 1 keer. Je hebt het echte fysieke bestand, en 1 of meer verwijzingen naar dat bestand. Dat zijn de zgn. hard links, en het is heel iets anders dan een letterlijke kopie.
Maar voor het werken ermee merk je geen enkel verschil tussen een hard link en het echte fysieke bestand. Als je de hard link bewerkt, verandert het fysieke bestand mee (want via de verwijzing ben je in wezen gewoon daarmee bezig). En omgekeerd geldt natuurlijk hetzelfde, omdat een verwijzing (hard link) niet beïnvloed wordt door wijzigingen in het echte bestand.
Tot zover het eventuele nut.
Nu: hoe doen we het.
Daarvoor kan je gebruik maken van
fsutil
of (onder Vista en hoger) van
mklink
Fsutil
Het commandoregel-commando
fsutil
is standaard onder in elk geval XP t/m Windows 7
aanwezig.
Als je niet meer weet hoe het werkt tik je gewoon
fsutil
in, en krijg je de volgende uitvoer:
G:\>fsutil
---- Commands Supported ----
8dot3name 8dot3name managment
behavior Control file system behavior
dirty Manage volume dirty bit
file File specific commands
fsinfo File system information
hardlink Hardlink management
objectid Object ID management
quota Quota management
repair Self healing management
reparsepoint Reparse point management
resource Transactional Resource Manager management
sparse Sparse file control
transaction Transaction management
usn USN management
volume Volume management
Vervolgens tik je fsutil hardlink
en krijg je:
G:\>fsutil hardlink
---- HARDLINK Commands Supported ----
create Create a hardlink
list Enumerate hardlinks on a file
Tenslotte doe je fsutil hardlink create
en krijg je:
G:\>fsutil hardlink create
Usage : fsutil hardlink create
Eg : fsutil hardlink create c:\foo.txt c:\bar.txt
Praktijkvoorbeeld
Ik laat eerst alle bestanden zien waarvan de naam begint met 'thee':
G:\>dir thee*
Volume in drive G is Emtec zwart
Volume Serial Number is F44F-7139
Directory of G:\
20-12-2012 21:17 3.434 Theezakjes.txt
1 File(s) 3.434 bytes
0 Dir(s) 979.791.872 bytes free
Hou het aantal vrije bytes (vetgedrukt) in de gaten!!
Nu ga ik een hardlink aanmaken:
G:\>fsutil hardlink create theezak.txt theezakjes.txt
Hardlink created for G:\theezak.txt <<===>> G:\theezakjes.txt
Zo simpel is het.
Ik heb nu een *echt* bestand dat theezakjes.txt
heet, en een verwijzing (hard link) met de naam
theezak.txt
, die zich op alle manieren net zo
gedraagt...
Op 1 ding na: hij neemt geen ruimte in beslag:
G:\>dir thee*
Volume in drive G is Emtec zwart
Volume Serial Number is F44F-7139
Directory of G:\
20-12-2012 21:17 3.434 theezak.txt
20-12-2012 21:17 3.434 Theezakjes.txt
2 File(s) 6.868 bytes
0 Dir(s) 979.791.872 bytes free
G:\>
Je ziet dat beide "bestanden" even groot zijn, en toch zijn er nog evenveel bytes vrij als voor ik de hard link aanmaakte.
Hard links, symbolic links en junctions maken
Wat zijn de verschillen?
Hard links, symbolic links en junctions zijn 3 manieren om een kopie van een bestand of map te maken, zonder dat het extra ruimte kost. Deze 3 varianten hebben elk hun eigen mogelijkheden en beperkingen. Zie dit artikel.
- Symbolic link:
Een symbolic link staat voor een "echte" file of folder (map). Wat je ook doet met de symbolic link of met de echte file, het effect is hetzelfde.
De symbolic link kan wijzen naar een bestand/map op dezelfde computer, of op een computer in het netwerk (als die benaderd wordt via SMB, maar dat is op lokale netwerken vaak het geval). - Hard link:
Een hard link staat voor een "echte" file (werkt niet voor mappen). Wat je ook doet met de hard link of met de echte file, het effect is hetzelfde.
De hard link kan alleen wijzen naar een bestand op dezelfde logische schijf (partitie). - Junction:
Een junction staat voor een "echte" map. Het is een soort hard link, maar dan voor mappen.
Wijzigingen in de junction of in de map waar hij naar wijst hebben hetzelfde effect, behalve als je de doelmap verwijdert of hem een andere naam geeft. Dan is de junction niet meer geldig.
De junction werkt in tegenstelling tot een hard link niet alleen lokaal.
Het is mij nog niet helemaal duidelijk waarom je ooit een hard link of junction zou gebruiken, gezien dat een symbolic link zowel bestanden als mappen aankan.
Het gebruik van junctions in de praktijk
Junctions worden in Windows Vista en hoger flink gebruikt door Windows zelf, al had je dat zelf vermoedelijk nog nooit beseft (ik ook niet tot ik dit stuk schreef :-) ).
In Windows XP had je bv. de mappen My Videos
en
My Music
In Vista en hoger heten die mappen gewoon Videos
en Music
Om er voor te zorgen dat oudere programma's, die nog uitgaan van de oude mapnamen, goed blijven werken, zorgt Windows er met een junction voor dat benaderingen van de oude mappen gewoon doorgesluisd worden naar de nieuwe.
Je kan dat goed zien door op de
commandoregel naar de map
c:\Users\gebruikersnaam\Documents
te gaan,
en dan het volgende commando in te tikken:
dir /ah
(de 'h' staat voor hidden = verborgen).
Je ziet dan o.a. de volgende regels:
24-03-2014 11:45 <JUNCTION> My Music [C:\Users\Henk\Music]
24-03-2014 11:45 <JUNCTION> My Pictures [C:\Users\Henk\Pictures]
24-03-2014 11:45 <JUNCTION> My Videos [C:\Users\Henk\Videos]
Het commando mklink
Het commandoregel-commando
mklink
is standaard onder Windows Vista en hoger
aanwezig.
Als je niet meer weet hoe het werkt tik je gewoon
mklink
in, en krijg je de volgende uitvoer:
C:\>mklink
Creates a symbolic link.
MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
Praktijkvoorbeeld van een symbolic link naar een map (folder)
Ik laat eerst de inhoud zien van de map e:\Test
:
e:\Test>dir
Volume in drive E is PHILIPS UFD
Volume Serial Number is 66BC-AEED
Directory of e:\Test
10-11-2014 16:23 <DIR> .
10-11-2014 16:23 <DIR> ..
10-08-2014 23:14 4.024 readme.txt
10-11-2014 16:23 <DIR> Run
1 File(s) 4.024 bytes
3 Dir(s) 48.621.489.664 bytes free
Hou het aantal vrije bytes (vetgedrukt) in de gaten!!
Nu ga ik een symbolic link aanmaken naar de map Run
,
en ik noem hem newrun
:
e:\Test>mklink /d e:\test\newrun e:\test\run
symbolic link created for e:\test\newrun <<===>> e:\test\run
Zo simpel is het.
Ik heb nu een *echte* map die Run
heet, en een verwijzing (symbolic link) met de naam
newrun
, die zich op alle manieren net zo
gedraagt...
Op 1 ding na: hij neemt geen ruimte in beslag:
e:\Test>dir
Volume in drive E is PHILIPS UFD
Volume Serial Number is 66BC-AEED
Directory of e:\Test
10-11-2014 16:49 <DIR> .
10-11-2014 16:49 <DIR> ..
10-11-2014 16:49 <SYMLINKD> newrun [e:\test\run]
10-08-2014 23:14 4.024 readme.txt
10-11-2014 16:23 <DIR> Run
1 File(s) 4.024 bytes
4 Dir(s) 48.621.489.664 bytes free
Er zijn nog evenveel bytes vrij als voor ik de hard link aanmaakte.
Verder zie je dat er een nieuw object newrun
is
aangemaakt.
Voor normale mappen staat <DIR>, voor symbolic links naar mappen staat
<SYMLINKD>.
Om aan te tonen dat het nieuwe ding een map is, ga ik er met een
CD
-commando naar toe:
e:\Test>cd newrun
e:\Test\newrun>
In Verkenner (Explorer)
zie je wel dat
newrun
geen normale map is, maar niet dat het
een symbolic link is.
Je ziet een pijltje in de linkeronderhoek van het icoontje van de map.
Lengte van bestands- en padnamen (en problemen daarmee)
Introductie
Het is altijd al zo geweest dat de lengte van bestandsnamen en/of padnamen (de hiërarchie van mappen waarin het bestand zit) aan limieten gebonden waren. Zo kon in DOS vroeger de bestandsnaam maar 8 tekens zijn, met een extensie van maximaal 3 tekens.
Het vervelende is dat in verschillende versies van Windows die grenzen zijn
veranderd.
Maar nog erger is, dat Windows wel kan vinden dat een padnaam maximaal 250
tekens mag zijn, maar dat een programma dat kan beperken tot een lager aantal.
Mensen die Nero
gebruiken om bestanden en mappen naar
DVD's te branden zullen vast wel eens een melding gekregen hebben over een
naam die verkort wordt.
Verschillende programma's kunnen verschillende grenzen aan, en je kan beter van tevoren weten waar je aan toe bent. Er bestaat gelukkig een tool om dat uit te vissen.
Bij Microsoft vind je een uitgebreide, zeer technische, uitleg over bestandsnamen, padnamen, e.d.
Padnamen in verschillende Windows versies
Volgens deze discussie op een Microsoft forum gelden de volgende limieten voor de padnaam (inclusief bestandsnaam):
- Windows Vista (en 7?): 260;
- Windows XP: 255;
- Windows 2000: 254.
Maar het in de introductie genoemde technische artikel (meer betrouwbaar?) spreekt alleen over een limiet van 260 tekens (zonder iets te zeggen over Windows versie).
Het deel van de padnaam los van de filenaam zou volgens dezelfde auteur 248 tekens lang mogen zijn.
In het forum-antwoord zie je ook dat bv. Nero 6
maar 108 tekens aankon, en QuickTime 2006
zelfs
maar 63.
De rest van de namen van de muzieknummers (in het geval van
QuickTime
) werd er gewoon afgehakt.
Jammer, dan.
Wat gebeurt er als je grenzen overschrijdt?
Ik ben begonnen met dit stuk omdat ik zelf op een vreemde manier tegen de grens aanliep in Windows 7.
Ik had een portable versie van heel veel programma's, waaronder
OpenOffice
,
op een USB stick gezet.
Vervolgens wilde ik de complete inhoud van die stick naar een Windows 7
computer kopiëren, en kreeg ik de volgende melding:
The file name(s) would be too long for the destination folder. You can
shorten the file name and try again, or try a location that has a shorter
path.
openoffice
Date created: ...
Je kan vervolgens kiezen voor (Skip)
of
Annuleren (Cancel)
Wat ik me afvraag is waarom ik geen melding heb gekregen toen ik
OpenOffice
op de stick installeerde, want volgens
mij heb ik dat ook op een W7-computer gedaan.
En ik kan de stick wel zonder problemen naar een XP computer kopiëren!
Verder is irritant dat de melding niet aangeeft om welk bestand het gaat, alleen de naam van de map. Maar binnen de genoemde map zitten in mijn geval ontelbare bestanden.
Langere namen (tot meer dan 32000 tekens toch mogelijk)
Je kan wel langere padnamen aanmaken, maar dan moet je een andere notatie
gebruiken: \\?\normale-padnaam
, bv.
\\?\D:\Map1\Map2\...\Map300\filenaam
Too Long Paths Detector (versie 1.2)
Het programma is gratis, hoef je niet te installeren, en kan je hier downloaden.
Als je het programma start vraagt het of je alle schijven wilt controleren
(dan kan je klikken op Yes
) of niet (klikken op
No
).
Als je op No
klikt kan je een schijf of map
uit de lijst selecteren.
Ik kies bv. voor schijf G
, en klik op
OK
De laatste vraag is wat de maximale lengte mag zijn. Het programma zegt dat de standaard op mijn Windows 7 PC 255 is, maar dat het wijs is om een lager aantal te kiezen (waarschijnlijk om ruim binnen de grenzen te blijven). En zoals ik hierboven heb aangegeven zijn er programma's die veel minder aankunnen.
Er is standaard 200 ingevuld, ik laat het zo voor mijn USB-stick,
klik op OK
, en krijg de volgende 4 resultaten
(in de file TLPD-log.txt
, die als het goed is
automatisch geopend wordt in Kladblok (Notepad)
of een andere editor die je gebruikt):
=== TLPD (Too Long Paths Detector) Log ===
Parameters:
path: G:\
threshold: 200
Results:
Length Full name
203 G:\Anonymous\MegaUpload\FBI Megupload Shutdown Cuts Off Users From Personal Files, Business Data - Security - News & Reviews - eWeek.com_files\1185084940_1381357208001_Cloud-Technology-Brings-240x185.jpg
205 G:\Anonymous\MegaUpload\FBI Megupload Shutdown Cuts Off Users From Personal Files, Business Data - Security - News & Reviews - eWeek.com_files\1185084940_1381432361001_Security-and-Availability-240x185.jpg
204 G:\Anonymous\UN Internet reguleren\Wall Street Journal - Rusland, China e.d. willen UN controle over Internet SB10001424052970204792404577229074023195322_files\jsframe_data_002\opinion_commentary_story.js
203 G:\Anonymous\UN Internet reguleren\Wall Street Journal - Rusland, China e.d. willen UN controle over Internet SB10001424052970204792404577229074023195322_files\religion-diversity-tolerance-governance.png
=== TLPD finished ===
TLPD version 1.2
TLPD was developed as a complementary product for the EVACopy project:
https://evacopy.sourceforge.net
Aan het begin van de regel zie je steeds de lengte staan (bv. 203 bij de 1e bestandsnaam), daarna de bestandsnaam zelf.
Problemen
Programma dat hoort bij type bestand wordt niet geopend
Beschrijving
Ik dubbelklikte op een HTM
-file (webpagina).
Normaal wordt dan bij mij de Firefox
-browser
gestart.
Gek genoeg kreeg ik nu de melding
(There was a problem sending the command to the program.)
.
Maar nog gekker was, dat ik in een ander venster exact dezelfde file vanaf
een DVD (bleek er later niets mee te maken te hebben) had geopend, en daar
ging het wel goed!
Oplossing
Een extensie is gekoppeld aan een programma waarmee je files van dat type normaal gesproken opent. Hoewel ik eerst dacht dat het verschil zat in DVD versus harde schijf, kon dat in principe niet het geval zijn. De koppeling tussen extensie en programma heeft op geen enkele manier te maken met het medium waarop het bestand staat (voor zover ik weet).
Als je in Google zoekt op de melding blijken er echter veel "slachtoffers" te zijn. En op 1 van de forums waar iemand er een vraag over stelde vond ik de hint naar de oplossing.
Het verschil tussen het bestand op de DVD en die op de harde schijf was dat
ik de DVD had geopend in Verkenner (Explorer)
en de harde schijf in
FreeCommander
Dit was dus een bug in FreeCommander
die maar
tijdelijk optrad.
Normaal werkt het wel goed.
Links
- FAQ: Alternate Data Streams in NTFS (Frank Heyne Software)
- Zeer duidelijke uitleg over ADS.
Op dezelfde site is onder het kopje Software ook een tool te downloaden
(
LADS
), die in elk geval werkt t/m Vista. - The Dark Side of NTFS (H. Carvey)
- Een beetje oud artikel (uit 2002), maar wel met veel goede voorbeelden, plaatjes, en uitleg over ADS.
- Windows 7: MKLINK – Create and Use Links in Windows
- Goede uitleg over verschillende types links en junctions.
- How to Mount a Hard Drive as a Folder on Your Windows PC
- De naam zegt het al.
Reageer via E-mail (dalmolen@xs4all.nl)
Deze pagina is voor het laatst gewijzigd op: 26-01-23 16:43:54