Top-Themen

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

lange und kurze dateinamen verarbeiten

Frage Entwicklung Batch & Shell

Mitglied: jschneider

jschneider (Level 1) - Jetzt verbinden

09.09.2008, aktualisiert 10.09.2008, 6567 Aufrufe, 4 Kommentare

Hallo,

ich benötige eine Funktion mit der ich den normalen (langen) dateinamen auslese und den dazugehörigen kurzen Dateinamen (falls vorhanden)


dir /x liefert mir ja schonmal eine Liste meiner verzeichnisse und stellt die kurzen dateinamen dar , sofern vorhanden

wenn jedoch kein kurzer dateiname vorhanden ist ist die stelle quasi frei und mein Leerzeichen delimiter wird nicht erkannt
kurze Verzeichnisnamen werden halt nur angezeigt, wenn der dateiname selber länger als 8 Zeichen ist


01.
set qLW=L: 
02.
 
03.
for /f "skip=7 tokens=1,2,3,4,5,6,7 delims= " %%e in ('dir /d /x /a:d %qLW%\') do ( 
04.
 echo  ------------------------------------------------ 
05.
 echo f  %%f 
06.
 echo g  %%g 
07.
 echo h  %%h 
08.
 echo i  %%i 
09.
 echo j  %%j 
10.
 echo k  %%k 
11.
)

d.h. wenn mit obigen code gesucht wird ist

%%h der normale Verzeichnisname , wenn der verzeichnisname kürzer als 8 Zeichen ist und %%i nicht belegt

%%h der kurze Verzeichnisname, wenn der Verzeichnisname länger als 8 Zeichen ist und %%i der Lange Verzeichnisname


so kann ich nicht arbeiten

ich könnte jetzt irgendwie abfragen, ob %%i überhaupt inhalt hat und in diesem Falle mir das hinbiegen und so .. aber das geht doch bestimmt besser oder ?



Gruß, Jan
Mitglied: Biber
09.09.2008 um 16:22 Uhr
Moin jschneider

vom CMD-Prompt könnte es so aussehen (Beispiel):
01.
for /d %i in (d:\temp\t*) do @if /i "%~snxi" NEQ "%~nxi"  @(echo %~nxi [%~snxi]) else @echo %~nxi
Ausgabe
templogs 
test 
test22 
testheute [TESTHE~1] 
tomove 
tomove1up [TOMOVE~1] 
tomove2up [TOMOVE~2]
Batch-Skizze:
01.
@echo off 
02.
... 
03.
for /d %%i in (d:\temp\t*) do ( 
04.
     if /i "%%~snxi" NEQ "%%~nxi"  ( 
05.
          echo %%~nxi [%%~snxi] 
06.
      ) else ( 
07.
 @echo %%~nxi 
08.
))


Ich habe es jetzt mal auf alle Unterverzeichnisse T* in d:\Temp reduziert, weil da einige mit "langen" und "kurzen" Namen dabei sind.

Wie Du schon richtig vermutet hast, wirst Du kaum um eine IF-Konstruktion herumkommen.

Grüße
Biber
Bitte warten ..
Mitglied: miniversum
09.09.2008 um 17:25 Uhr
also bei mir funktionierts auch einfach so:
01.
FOR /F "delims=" %i in ('dir /b /a:d') do @echo %~snxi 
Bitte warten ..
Mitglied: jschneider
10.09.2008 um 09:17 Uhr
super

dank an euch beide

frage mich nur gerade ob das %~snxi bzw %~snxi zum Allgemeinwissen gehört bzw. in welcher Hilfe man das hätte finden können/müssen

Bitte warten ..
Mitglied: miniversum
10.09.2008 um 09:39 Uhr
Das steht in der Hilfe zum For-Befehl ganz unten.
Ob es zum allgemeinwissen gehört weiß ich nicht aber es ist oft nützlich wenn man mit dateien arbeitet.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ähnliche Dateinamen zusammen verarbeiten
gelöst Frage von JT-131Batch & Shell2 Kommentare

Hallo zusammen, gibt es eine Möglichkeit die ersten 7 Zeichen eines Dateinamens auszulesen und in eine variable zu speichern ...

Windows 7
Verarbeiten der Gruppenrichtlinieclient dauert sehr lange
Frage von Maverick6Windows 74 Kommentare

Hallo zusammen, ich habe bei einem Rechner Windows 7 SP1/32 bit, welcher in einer Domäne hängt, das Problem, das ...

Batch & Shell
Dateien in Abhängigkeit des Dateinamens auf eine bestimmte Zeichenzahl kürzen und verschieben
gelöst Frage von Booster07Batch & Shell11 Kommentare

Hallo zusammen, ich habe zwei Probleme, bei denen ich auf Eure kompotente Hilfe hoffe: Problem 1: Ich habe sehr ...

Outlook & Mail
Windows 10 Mail App die maximale Länge der Signatur ist jetzt kürzer?
gelöst Frage von horstvogelOutlook & Mail11 Kommentare

Hallo, kann es sein das sich die maximale Länge der Signatur verkürzt hat? Bei Verwendung von Windows 8.1 gab ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner14 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...