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

Programm oder Script gesucht was Verzeichniss- und Dateinamen bis 256 Zeichen auslesen kann.

Frage Microsoft

Mitglied: primusvs

primusvs (Level 1) - Jetzt verbinden

22.05.2009, aktualisiert 18.10.2012, 6513 Aufrufe, 11 Kommentare

Hallo Forenmitglieder,

ich suche ein Programm oder Script (Batch Datei) was in der Lage ist von einem Laufwerk z.B. C:\ oder Verzeichnis C:\Windows mir alle Verzeichniss- und Dateinamen nach einen Scann anzeigt welche z.B mehr als 250 Zeichen erhalten..

Die suche hier im Forum brachte leider keinen Erfolg.


Beispiele:


abcdefghijdas sind jetzt 251 Zeichen.doc
123456*das sind insgesamt 252 Zeichen?????.txt
12343456908765765445667**das sind insgesamt 254 Zeichen~~~~~~~~~~~~~.xls

primusvs_Bla_BLA_BLA_das soll ein Verzeichnisse sein mit insgesamt 253 Zeichen


Schöne Grüße


primusvs
Mitglied: bastla
22.05.2009, aktualisiert 18.10.2012
Hallo primusvs!

Sollte eigentlich (als Standardwerk ) zu finden sein: Batch for Runaways - Part 1 - Beispiel: FindLongPath.Bat Bedenklich lange Pfade finden (obwohl: Biber hat ja die Angewohnheit, "Verzeichnis" nur mit einem "s" zu schreiben - vielleicht lag's daran ... )

Grüße
bastla
Bitte warten ..
Mitglied: LotPings
22.05.2009 um 14:51 Uhr
Hallo primusvs,

Im Untershied zum Biber Tutorial hier eine Quick and Dirty Lösung ohne temporäre Datei.

Unklar ist ob du separat Pfad / Dateiname oder die Gesamtlänge meinst.

01.
:: LongPathFile.cmd::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
@Echo off 
03.
Setlocal EnableDelayedExpansion 
04.
set Log="%USERPROFILE%\Desktop\LongPathFileLog.txt" 
05.
Echo == %Date% == %Time:~,8% == %CD% == Check LongPathFile.cmd >>%Log% 
06.
:: Prüft ab aktuellem Verzeichnis 
07.
for /f "delims=" %%A in ('dir /B/S/A .') do ( 
08.
set "A=%%~fA"  & IF "!A:~251!" NEQ "" Echo/Full:%%~fA >>%Log% 
09.
set "B=%%~dpA" & IF "!B:~251!" NEQ "" Echo/DrPf:%%~dpA >>%Log% 
10.
set "C=%%~nxA" & IF "!C:~251!" NEQ "" Echo/NaEx:%%~nxA >>%Log% 
11.
)                                           
12.
Start Notepad %Log% 
13.
:: LongPathFile.cmd:::::::::::::::::::::::::::::::::::::::::::::::::::
Gruß
LotPings

Edit Code angepasst
Bitte warten ..
Mitglied: Biber
22.05.2009 um 15:26 Uhr
Moin Lord,

eine Quick and Dirty Lösung ohne temporäre Datei.
wobei in dem speziellen Fall, für den die Tutorialvariante gedacht war ( komplettes Laufwerk oder Netzwerkshare) eine temporäre Datei schon sinnvoll ist.

Wohlgemerkt - das, was mit einem "Dir /b/s/a C:\." oder "Dir /b/s/a X:\." durchrauschen würde am CMD-Prompt, das würde on the fly als Inputstream auf Verarbeitung durch die FOR/F-Anweisung warten.

Das brachte seinerzeit bei meinen Spielversuchen ein kleines bisschen den Lüfter zum Aufjaulen.

Nichtsdestotrotz - eine "produktiv" eingesetzte Lösung würde sicherlich etwas schlanker aussehen können als das Tutorial von damals.

Grüße
Biber
Bitte warten ..
Mitglied: LotPings
22.05.2009 um 15:57 Uhr
Zitat von Biber:
Nichtsdestotrotz - eine "produktiv" eingesetzte Lösung würde sicherlich etwas schlanker aussehen können als das Tutorial von damals.
Hallo Biber,
das war keine Kritik, ich wollte halt nur herausstellen wie er was suchen kann - denn den Knackpunkt hab ich auf die Schnelle im Tutorial nicht gesehen, war am Notebook meiner Tochter mit winzigem bildschirm

Gruß
LotPings
Bitte warten ..
Mitglied: primusvs
22.05.2009 um 19:49 Uhr
Hallo bastla
Hallo LotPings,

da ich über keine Programmierkenntnisse verfüge (auch für nur Batch Programmierung), bräuchte ich hierfür eure Hilfe.
Ich habe bei mir zu Hause keinen Windows Rechner um diese Scripte zu testen.
Frühestens Montag bei der Arbeit.

Es geht mir darum bei Probleme mit den servergespeicherten Profile nachzuschauen, ob sich in diesem bestimmten Profil Dateien oder Verzeichnisse befinden die 255 Zeichen haben.
Schön wäre natürlich noch, die Angabe des Pfades wo sich diese Verzeichnisse/Dateien befinden.

Beste Grüße

primusvs
Bitte warten ..
Mitglied: LotPings
22.05.2009 um 20:02 Uhr
Zitat von primusvs:
Schön wäre natürlich noch, die Angabe des Pfades wo sich diese Verzeichnisse/Dateien befinden.
Meine Batchdatei schmeisst alle Pfade, Dateinamen und Pfadnamenkombinationen raus, die jeweils länger als 250 Zeichen sind. Ich ändere den Source jetzt nochmal so ab das sie Ausgabe in eine Datei erfolgt, die anschließend angezeigt wird. gestest hatte ich bei mir und das sogar on real hardware und nicht nur by brain

Gruß
LotPings
Bitte warten ..
Mitglied: primusvs
25.05.2009 um 14:25 Uhr
Hallo LotPings,

habe dein Script heute getestet.
Es funktioniert soweit ganz gut, leider werden nur Dateien angezeigt.
Kannst du dies auch noch für Verzeichnisse durchführen bzw. integrieren.

Besten Grüße

primusvs
Bitte warten ..
Mitglied: LotPings
25.05.2009 um 14:54 Uhr
Das sollten die Zeilen 8 bis 10 eigentlich bereits tun.

Und bei meinen Tests hier klappt das auch.

Vielleicht schaust du dir die Bedeutung der Tilde Befehle in For /? oder Call /? nochmal an.

Gruß
LotPings
Bitte warten ..
Mitglied: primusvs
25.05.2009 um 16:34 Uhr
Hallo LotPings,

Leider funktioniert es bei mir nur mit Dateien.

Habe im Verzeichnis Eigene Dateien das Script hinzugefügt sowei eine Datei und Verzeichnis angelegt.

Datei:

2222222222222a3r2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.tmp

Verzeichniss:

ae987dddddddddddddddd77777dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd


Leider zeigt er mir nur die Datei an siehe unten

== 25.05.2009 == 16:24:09 == C:\Dokumente und Einstellungen\sorressa\Eigene Dateien == Check LongPathFile.cmd
Full:C:\Dokumente und Einstellungen\sorressa\Eigene Dateien\2222222222222a3r2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.tmp
== 25.05.2009 == 16:27:12 == C:\Dokumente und Einstellungen\kalle\Eigene Dateien == Check LongPathFile.cmd
Full:C:\Dokumente und Einstellungen\kalle\Eigene Dateien\2222222222222a3r2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222.tmp

Vielleicht schaust du dir die Bedeutung der Tilde Befehle in For /? oder Call /? nochmal an. = was soll mir das sagen. (keine Programmierkenntisse)

Die 251 in deinem Script schient ja die Datei/Verzeichnislänge zu sein, kann ich diese verändern um eine andere Größe zu definieren z.B. 160


Schöne Grüße

primusvs
Bitte warten ..
Mitglied: primusvs
25.05.2009 um 16:43 Uhr
Hallo LotPings,

habe die 251 in deinen scripts mal auf 160 geändert und wolla es funktioniert.

Kann das sein, dass bei Verzeichnisse eine andere Begrenzung zutrifft als bei Dateien.

Beste Grüße und Recht herzlichen Dank für eure Hilfe

primusvs
Bitte warten ..
Mitglied: LotPings
25.05.2009 um 16:55 Uhr
Zitat von primusvs:
Vielleicht schaust du dir die Bedeutung der Tilde Befehle in For /? oder Call /? nochmal an. = was soll mir das sagen. (keine Programmierkenntisse)

Damit rufst du in einem Cmd.exe Fenster die Hilfe zum For/Call Befehl auf.
Das ist auch für nicht-Programmierer sinnvoll.

Die 251 in deinem Script schient ja die Datei/Verzeichnislänge zu sein, kann ich diese verändern um eine andere Größe zu definieren z.B. 160

Meine Batch hatte sich genau nach deinen Vorgaben gerichtet. Natürlich kannst du die ändern und
du hast es ja schon erfolgreich probiert.

Gruß
LotPings
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...