[2003] niet-standaard letters vinden op filesysteem *

Pagina: 1
Acties:

  • satmarco
  • Registratie: Oktober 2002
  • Laatst online: 26-06-2023
Ik zoek een manier om bestandsnamen te vinden op een fileserver met niet geldige of verminkte tekens er in.

"search file system for non valid characters" (en vele andere pogingen) op google helpt mij helaas niet verder.

Ik weet niet om welke tekens het precies allemaal gaat maar eigenlijk zoek ik alle bestanden waarin andere tekens in voorkomen dan de toegestane voor een filesysteem.

  • ThunderNet
  • Registratie: Juni 2004
  • Nu online

ThunderNet

Flits!

:? Je verhaal is niet duidelijk. Als je naar bestanden zoekt met tekens in de bestandsnaam/extentie die niet geldig is op dat filesystem. Zul je ze nooit vinden. Zulke bestanden kunnen namelijk nooit aangemaakt worden (krijg je fijne foutmelding).

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • satmarco
  • Registratie: Oktober 2002
  • Laatst online: 26-06-2023
Ik wilde het kort houden maar dat is dus niet duidelijk.

We maken gebruik van rsync om bestanden te synchroniseren tussen de server en een nearline backup server. Rsync heeft de vervelende eigenschap om van bv een é of â een eigen teken te maken. Volgens mij zijn dit ook eigenlijk letters die niet gebruikt mogen worden in een bestands naam. Bij de volgende backup /synchronisatie ronde loopt rsync vast op zijn eigen gemaakte bestandnamen en maakt vervolgens weer een nieuwe naam aan. Dit doet rsync 2 x en daarna krijg je een error melding (File vanished) in de logfile te zien.
Dus nu zoek ik alle bestandsnamen met dit soort letters er in en alle bestandsnamen die rsync er van gemaakt heeft vaak met een vierkantje of een soort hoofdletter I met een streepje er boven.

Het zijn alleen zo rond de 700000 bestanden die ik wil doorzoeken, en zoek daar een tooltje of vb scriptje of zoiets voor.

Ik hoop dat het zo duidelijker is.

  • ThunderNet
  • Registratie: Juni 2004
  • Nu online

ThunderNet

Flits!

En welk filesystem wordt er gebruikt? é etc. worden namelijk wel ondersteund onder NTFS.

En in een dergelijk tooltje wou je graag dan bestanden met "ongeldige" karakters op het doel-filesystem vervangen worden met een "normaal" karakter?

dus
é -> e
á -> a
etc.?
Hoe moet het opgelost worden als je 2 bestanden hebt met dezelfde naam daarna?

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • satmarco
  • Registratie: Oktober 2002
  • Laatst online: 26-06-2023
Het is inderdaad op een NTFS filesysteem van een windows 2003 server.

Het vervangen zit ik niet zo mee, het gaat mij er vooral om dat ik ze kan vinden.
Dus een overzicht met alle bestandsnamen waar andere letters of tekens in voorkomen dan hoofdletters, normale letters en spaties.

  • ThunderNet
  • Registratie: Juni 2004
  • Nu online

ThunderNet

Flits!

Ok! Nu is je vraag duidelijk :)
* ThunderNet duikt even de help files in :)

[ Voor 3% gewijzigd door ThunderNet op 27-12-2006 12:29 ]

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • ThunderNet
  • Registratie: Juni 2004
  • Nu online

ThunderNet

Flits!

Met het volgende commando in powershell
PS C:\> $pad = "k:\foto\"
PS C:\> get-childitem -path $pad -recurse -Include *é*

(bij eerste regel natuurlijk invoeren welke directory van toepassing is)
Dit geeft een lijst van alle bestandsnamen waar een é in voor komt, binnen de gestelde directory, en in de subdirectory's ervan.

Hoe je meerdere filters kunt toepassen moet je nog even uitzoeken :)

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Gooi over bovenstaande een loopje met de verschillende tekens (pak een willekeurige lijst van het net) en je bent er.

Alternatief: dir /b /s > bladiebla.txt
En die uitlezen. Of heel eenvoudig en lowtech: maak daar een kopie van, zoek&vervang in de kopie a-z naar niets. Kijk wat er over is en op welke regel dit staat en klaar.

Ik heb trouwens de topictitel wat aangepast, zie ook het Windows Clients - Policy Omdat ongeldig wat onlogisch klonk het ik er meteen even niet-standaard van gemaakt.

[ Voor 23% gewijzigd door F_J_K op 27-12-2006 12:56 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
In Total Commander (shareware) kun je zoeken op regular expressions. Het lijkt me niet zo moeilijk om een zoekterm te construeren die afwijkende filenamen als resultaat geeft.

  • satmarco
  • Registratie: Oktober 2002
  • Laatst online: 26-06-2023
ThunderNet schreef op woensdag 27 december 2006 @ 12:50:
Met het volgende commando in powershell
PS C:\> $pad = "k:\foto\"
PS C:\> get-childitem -path $pad -recurse -Include *é*

(bij eerste regel natuurlijk invoeren welke directory van toepassing is)
Bij deze optie moet je nog steeds weten waar je naar zoekt.
Ik weet helaas niet welke foute letters / karakters er allemaal aangemaakt zijn.

Vervolgens ging ik het alternatief van FJK uitproberen en kwam tot de ondekking dat als ik bv deze bestandsnaam heb éäânalicnse.pdf dat hij er dan dit ‚„ƒnalicnse.pdf van maakt in de txt file. 8)7

Ik ga nu Henk007 zijn optie eens proberen.

  • ThunderNet
  • Registratie: Juni 2004
  • Nu online

ThunderNet

Flits!

:P Hoezo je weet toch alle karakters die je er niet in wilt hebben? Dan weet je toch ook automatisch welke karakters je wel wilt hebben? ;) Daarnaast is er ook nog het -Exclude en -Filter parameters :)

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

In NTFS zijn paden altijd unicode, dus niet alleen de "high ASCII" tekens, maar de hele unicode-set van zoveel duizend verschillende tekens. Wil je die echt allemaal gaan uitfilteren :?

Ik zou het probleem gewoon bij de bron aanpakken en de mensen achter Rsync een schop geven. "Vreemde" tekens in een bestandsnaam is nml niks raars voor NTFS.

Met daarbij ik weet niet wat voor bestanden het zijn, maar als ze naar elkaar verwijzen (sourcecode) of elkaar op een andere manier nodig hebben, dan ben je de klos.

[ Voor 19% gewijzigd door _Thanatos_ op 27-12-2006 14:48 ]

日本!🎌

Pagina: 1