Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 3348 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
Ordnernamen aus Dateinamen erstellen (1)

Frage von Dr.Byte zum Thema Batch & Shell ...

Batch & Shell
Vergleich einer Zeichenfolge in zwei Dateinamen (3)

Frage von hongziehong zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen auslesen und in Code einbauen (10)

Frage von markue zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

Neue Wissensbeiträge
Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...