Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Korrektur aller falschen Dateinamen auf einem Laufwerk

Frage Entwicklung Batch & Shell

Mitglied: dctibi

dctibi (Level 1) - Jetzt verbinden

24.01.2012, aktualisiert 13.12.2013, 3303 Aufrufe, 5 Kommentare

http://support.microsoft.com/kb/320081/de zeigt, wie man z.B. Dateien mit einem ungültigen Namen im Win32-Namespace noch erreichen kann.

Hätte nun gerne eine Batch, die diese Leertasten vorne und hinten bei einem Dateinamen vernichtet oder durch ein Zeichen wie z.B. "_" ersetzt.

ich finde nur keine Lösung für eine for-schleife solche Dateien zu finden - das umbenennen etc. steht ja in der kb...

Hat jemand eine Idee?
Mitglied: Biber
LÖSUNG 24.01.2012, aktualisiert 13.12.2013
Moin dctibi,

was spricht denn dagegen, die Dateien mit der gleichen Syntax zu suchen mit der sie auch umbenennen würdest?

Also theoretisch z.B
dir "\\?\c:\* " /b /s

...um alle Dateien mit einem Leerzeichen am Ende des (Namens+Extension) zu finden?

Grüße
Biber
Bitte warten ..
Mitglied: dctibi
25.01.2012 um 21:21 Uhr
Klaro - Danke!

Tja, wenn man schon fragt, wie finde ich mit einer for-Schleife falsche Dateien... da hatte ich mich gedanklich verrannt. Die richtige Frage, die ich mir selbst stellen sollte: Wie findet man falsche Dateien (ohne dem Zwang nach For-Schleife). So, damit hier dann auch der thread gelöst ist, hier noch meine Idee:
01.
@echo off & setlocal 
02.
set "Basis=c:\seltsam" 
03.
echo Benennen nun ungueltige Dateien in "%Basis%" um - Endung ist dann .geloest 
04.
for /f "usebackq delims=" %%i in (`"dir "\\?\%Basis%\* " /b /s 2^>nul"`) do ( 
05.
	echo Datei %%i ist unglueltig... setze neuen Dateinamen... 
06.
	ren "%%i" "%%~ni.geloest" 2^>nul 
07.
	if errorlevel == 1 ( 
08.
                echo Datei "%%~ni.geloest" bereits vorhanden. Wird somit "%%~ni2.geloest" 
09.
  	       ren "%%i" "%%~ni2.geloest" 2^>nul 
10.
11.
12.
echo "Wenn Dateinamen nicht zu oft falsch vorkommen - dann sollte nun alles passen ;-)"
Wenn es keine Gegenstimmen gibt, wird dieser thread auf gelöst gesetzt. ok?
Bitte warten ..
Mitglied: Biber
LÖSUNG 25.01.2012, aktualisiert 13.12.2013
Moin dctibi,

Zitat von dctibi:
Wenn es keine Gegenstimmen gibt, wird dieser thread auf gelöst gesetzt. ok?
Hey, ich wäre der Letzte, der seine Stimme erhebt, um das Auf-Erledigt-Setzen eines Beitrages zu verhindern oder auch nur zu verzögern...

In vorauseilendem Dank habe ich dir deinen Schnipsel auch in Code-Formatierung gesetzt.
(wenn du "editierend" noch mal auf deinen Kommentar gehst, dann siehst du, wie einfach das geht).

Grüße
Biber
Bitte warten ..
Mitglied: dctibi
13.12.2013 um 17:10 Uhr
Tja, hatte mich damals nur zu früh gefreut: Habe Probleme, wenn z.B. die Datei mit einem Ausrufezeichen beginnt... Zum Erstellen solch einer Testdatei:


echo > "\\?\C:\TEMP\!!!problem!!! "

Nur eine Kleinigkeit fehlt also zu meiner Batch noch - kann wer helfen?
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Apache Server
Anzeige der falschen Website Apache2 vHotsts (3)

Frage von m.reeger zum Thema Apache Server ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

DNS
Nslookup gibt falschen DNS Namen zurück (3)

Frage von ultrapottoti zum Thema DNS ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...