Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Verwijderen filenaam '?' van ntfs schijf.  (gelezen 794 keer)

Verwijderen filenaam '?' van ntfs schijf.
« Gepost op: 2017/09/04, 11:34:13 »
Wellicht vraag ik dit op een verkeerd deel van het forum, in dat geval excuus en advies gevraagd...

Ik heb het volgende probleem.

Ooit een scriptje aangemaakt met de naam ? waarmee ik geheugenstatus van memory en disk opvroeg.

Ik maak regelmatig een backup van o.m. deze file m.b.v. rsync naar een externe ntfs schijf.

Omdat het me opviel dat de backup van ? rare data bleek te bevatten wilde ik die van de backupschijf verwijderen. Dat lukte me niet.

Uiteraard op internet gezocht maar geen van de oplossingen werkte.

Dus
rm ?
rm *
rm \*
rm \?
rm -i -- *
allemaal geen succes (no such file or directory).

Het cmd
find . -inum 23336 -exec rm -i {} \?
leverde de vraag op 'remove regular file './?'?
maar Y antwoorden gaf weer 'No such file or directory'

Ook onder windows kan de file niet verwijderd, renamed of wat dan ook worden.

De file op de bronschijf (ext4) levert geen enkel probleem op.

OS=Ubuntu 16.04

Het is geen groot probleem natuurlijk maar ik ben nieuwsgierig naar een oorzaak en oplossing. (Ik begrijp inmiddels dat een dergelijke filenaam niet aan te raden is!).

Zijn er nog meer benaderingen mogelijk?

Offline Nero

  • Lid
Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #1 Gepost op: 2017/09/04, 11:45:34 »
find . -inum 23336 -exec rm -i {} \?
Vervang dat vraagteken eens door ; Wordt dusfind . -inum 23336 -exec rm -i {} \;

Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #2 Gepost op: 2017/09/04, 12:25:28 »
Sorry, dat was een tikfout, zo had ik het oorspronkelijk. Hier de 'cut&paste' output:


find . -inum 23326 -exec rm -i {} \;
rm: remove regular file './?'? y
rm: cannot remove './?': No such file or directory

Offline DeBaas

  • Lid
Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #3 Gepost op: 2017/09/04, 16:43:38 »
chkdsk met de juiste parameters in Windows zou kunnen helpen.
ntfsfix vanuit een linux livecd en daarna vanuit de livecd verwijderen, ook mogelijk.

Pas op een ? is een wildcard, evenzo * .

rm ?
verwijderd alle files met een op die plaats willekeurig teken.
voorbeeld:
rm sla?pk?p
verwijderd
slaapkop, slaopkup en zo verder.

rm *
verwijdert alles.
voorbeeld:
rm sla*

Mogelijk kun je vanuit de filemanager de file selecteren (rechtsklik) en (F2) eerst de naam wijzigen.
« Laatst bewerkt op: 2017/09/04, 16:52:07 door DeBaas »
Ik beantwoord GEEN hulpvragen via PB en/of MAIL

Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #4 Gepost op: 2017/09/04, 17:59:57 »
Met het filesysteem is niets mis en overigens zie ik bij ntfsfix geen opties die van toepassing zouden kunnen zijn.

rm * geeft weliswaar geen foutmeldingen maar de file ? blijft doodleuk bestaan.

Openen met de filemanager (dubbel klik) start archive manager op en geeft melding 'could not open '?'
Rechts klikken (properties) geeft in tab Basic als naam ? maar als ik dat wijzig in aaa en sluit komt de melding 'There is no "?" in this location. Perhaps it was just moved or deleted?"

Een cat ? vanuit de prompt laat wel de inhoud zien.

Dank voor de reactie.
« Laatst bewerkt op: 2017/09/04, 18:06:19 door Wim Janssen »

Offline DeBaas

  • Lid
Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #5 Gepost op: 2017/09/04, 18:58:48 »
rm -f *?*.* geprobeerd?
Ik beantwoord GEEN hulpvragen via PB en/of MAIL

Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #6 Gepost op: 2017/09/04, 19:57:13 »
Nu wel. Geeft geen foutmelding maar de file bestaat nog.

Overigens lukt echo a > ? ook: de inhoud van ? is dan zoals verwacht een a. M.a.w. veel commando's werken gewoon keurig met de file behalve rm en consorten!

Nogmaals dank.

Offline Bloom

  • Lid
Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #7 Gepost op: 2017/09/04, 20:10:37 »
Ga in de directory staan waar de file ? voorkomt en tik het volgende:

rm -f \?Die backslash is hierbij wel belangrijk!

Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #8 Gepost op: 2017/09/04, 20:17:00 »
rm -f \?    geeft geen foutmelding maar verwijdert de file ook niet.

met -i erbij:

rm -f -i \?
rm: remove regular file '?'? y
rm: cannot remove '?': No such file or directory
« Laatst bewerkt op: 2017/09/04, 20:18:55 door Wim Janssen »

Offline Bloom

  • Lid
Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #9 Gepost op: 2017/09/04, 22:04:54 »
Okee, dan moeten we het als volgt aanpakken:

Ga in de directory met het vraagteken staan:

ls -i
Dit toont alle bestanden met hun inodenummer. Noteer het inodenummer van het vraagtekenbestand.

Vervolgens doe je

find . -inum 99999999 -exec rm -i {} \;
en vervang hier bij '99999999' door het juiste inodenummer dat je opgeschreven hebt.
Dit omzeilt het probleem van het ongeldige leesteken in de bestandsnaam door niet met de bestandsnaam te werken maar met het inodenummer van het bestand.

Offline kuifje09

  • Lid
Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #10 Gepost op: 2017/09/04, 23:09:14 »
vraag hier of de file echt ? heet .
Dan is het makkelijk,  doe gewoon rm'?'
singel quotes doen het hier...
singel quote sluit expansie uit.

net effe getest:
touch '?'
ls -l
"
Snippje uit de response ...
totaal 64
-rw-rw-r-- 1 dev dev     0 sep  4 23:08 ?
"
rm '?'
en ls -l laat hem niet meer zien.
« Laatst bewerkt op: 2017/09/04, 23:13:22 door kuifje09 »

Offline jan11000

  • Lid
Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #11 Gepost op: 2017/09/05, 08:50:12 »
Probeer eens met verschillende programma's de file te hernoemen.

Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #12 Gepost op: 2017/09/05, 11:06:23 »
Okee, dan moeten we het als volgt aanpakken:

Ga in de directory met het vraagteken staan:

ls -i
Dit toont alle bestanden met hun inodenummer. Noteer het inodenummer van het vraagtekenbestand.

Vervolgens doe je

find . -inum 99999999 -exec rm -i {} \;
en vervang hier bij '99999999' door het juiste inodenummer dat je opgeschreven hebt.
Dit omzeilt het probleem van het ongeldige leesteken in de bestandsnaam door niet met de bestandsnaam te werken maar met het inodenummer van het bestand.

Zoals ik eerder aangaf werkt ook deze methode niet. Na de "remove regular file '?'" vraag en y antwoord komt de melding No such file or directory.

ls -i

23326 ?                 88132 genfilenames    88159 samplechildalias
88063 aanpassen-border  88133 googleearth     88181 sampletable
88074 aliasvrij         88136 hptoolbox       88184 scantxt
88076 allowed           88138 joinmp4         88185 sdcard
88079 awkinput          88139 kernels         88187 somdir
88080 backupnewer       88140 killfirefox     88189 speedtest-cli
88089 cleanup           88141 listpartitions  88190 startdropbox
88093 clearthumbnails   88142 maakbackuphome  88191 suspendsys
88101 diversen          88143 maakicon        88193 testprint
88104 down              88144 movmp3          88195 txt2img
88114 ebook             88145 mp3rommel       88196 vindgps
88115 extrasoftware     88146 mp4rommel       88244 vrienden
88117 firewall          88147 musicdl         88550 winmaildat
88129 formatusb         88148 netview         88551 youtube-dl
88130 fr                88156 oldkernels      88554 zoek
88131 ftpdrestart       88158 renmp3
/media/wim/Acronis/Lenovo-Wim-Home-Backup/scripts>find . -inum 23326 -exec rm -i {} \;
rm: remove regular file './?'? y
rm: cannot remove './?': No such file or directory

Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #13 Gepost op: 2017/09/05, 11:09:42 »
vraag hier of de file echt ? heet .
Dan is het makkelijk,  doe gewoon rm'?'
singel quotes doen het hier...
singel quote sluit expansie uit.

net effe getest:
touch '?'
ls -l
"
Snippje uit de response ...
totaal 64
-rw-rw-r-- 1 dev dev     0 sep  4 23:08 ?
"
rm '?'
en ls -l laat hem niet meer zien.

Bij mij:

/media/wim/Acronis/Lenovo-Wim-Home-Backup/scripts>ll ?
-rwxrwxrwx 1 wim wim 2 sep  4 19:54 ?*
/media/wim/Acronis/Lenovo-Wim-Home-Backup/scripts>rm '?'
rm: cannot remove '?': No such file or directory
/media/wim/Acronis/Lenovo-Wim-Home-Backup/scripts>ll ?
-rwxrwxrwx 1 wim wim 2 sep  4 19:54 ?*

Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #14 Gepost op: 2017/09/05, 11:11:26 »
Probeer eens met verschillende programma's de file te hernoemen.

Geprobeerd met filemanager (direct en via properties) en met mv command. Tevergeefs.

Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #15 Gepost op: 2017/09/05, 12:13:29 »
Was ik nu dapper of laf, ik weet het niet, maar uiteindelijk heb ik maar via W*ndows en chkdsk e: /F de file opgeruimd.

Jammer dat nu niet aan het licht komt hoe het in Ubuntu had gelukt.

Allen dank voor meedenken!

Offline peer

  • Lid
Re: Verwijderen filenaam '?' van ntfs schijf.
« Reactie #16 Gepost op: 2017/09/05, 14:12:17 »
als je een file niet kunt verwijderen heeft dat vaak te maken met de bestandsrechten.
Wat ik dan altijd doe is:
ik start een filemanager als root. Ik gebruik hiervoor Double Commander.
Daarna zoek ik het bestand op en kan ik het eenvoudig verwijderen.