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, 3328 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateinamen mittels findstr aus einer TXT auslesehen (14)

Frage von Diamond72 zum Thema Batch & Shell ...

Windows Installation
gelöst Verschlüsseltes Laufwerk formatiert (9)

Frage von tornegius zum Thema Windows Installation ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
MS: Update-Server-Adressen OHNE Wildcards (16)

Frage von mrserious73 zum Thema Windows Update ...

Multimedia & Zubehör
Laptop per HDMI an TV - einer geht, einer nicht (10)

Frage von dreizehneinhalb zum Thema Multimedia & Zubehör ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (9)

Frage von Matsushita zum Thema Microsoft Office ...