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

Batch Datei öffnet gesuchte Datei

Frage Entwicklung Batch & Shell

Mitglied: Ludger

Ludger (Level 1) - Jetzt verbinden

02.06.2009, aktualisiert 15:26 Uhr, 4135 Aufrufe, 6 Kommentare

Hallo,
ich beschäfige mich im Moment mit einer kleinen Batchdatei Aufgabe, die ich leider nicht alleine lösen kann.
Hier im Forum scheinen erfahrene User speziell auch aus dem Bereich Batch Befehl zu sein, sodass ich hoffe hier einen guten Tip zu erhalten.

Hier meine Aufgabe
In einem Verzeichnis (keine Unterverzeichnisse) gibt es Dateien die alle mit einer 4 stelligen Zahl beginnen (0001 – 9999)

Ich möchte durch Eingabe der Zahl (zB 54)
Die entsprechende Datei suchen und öffnen.

Problem dabei ist, dass nach der Zahl weiteren Namensteil kommt und auch unterschiedliche Dateitypen möglich sind.
(z.B. C:\Dokumente\0024_Handout.pdf) oder auch C:\Dokumente\0025_Landschaft.jpg
Sicher ist eben nur diese Zahl am Anfang des Dateinamens, und das jede Zahl nur einmal vorkommt..

Hier mein Versuch:

set /p nummer=Bitte die Dokumentnummer eingeben:

If %nummer% geq 1000 goto vierstellig

If %nummer% geq 100 goto dreistellig

If %nummer% geq 10 goto zweistellig

set full=000

goto weiter

:zweistellig
set full=00
goto weiter

:dreistellig
set full=0
goto weiter

:vierstellig
rem set full=""

:weiter

set var=C:\Dokumente\%full%%Nummer%*.*

set datei=dir %var%
%datei%


Vielleicht hat jemand eine Idee wie es weitergeht. Der Suchstring für die Diraufgabe ist ok. Jetzt muß der tatsächliche Name ermittelt werden, damit das Dokument dann geöffnet werden kann. Ich hoffe, dass Ihr Euch über diese hemdsärmelige Lösung nicht zu sehr amüsieren müsst.
Wenn es einen ganz anderen Lösungsansatz gibt werde ich den gerne übernehmen.

Schon mal vielen Dank im voraus an alle, die einen Moment für mich mitdenken.

Ludger
Mitglied: holzholer
02.06.2009 um 16:06 Uhr
Hallo,

versuch mal folgendes:
dir /b C:\Dokumente\%full%%Nummer%*.*

das hier sollte dir eigentlich den Dateinamen (ohne Pfad) ausgeben. Jetzt musst du das nur noch in dein "set Datei=" pipen.

Wenns mit Pfad sein soll noch den Parameter /S anhängen. Dann dürfen da aber wirklich keine Unterverzeichnisse sein, weil die sonst auch gelistet werden.

Grüße
Bitte warten ..
Mitglied: bastla
02.06.2009 um 16:20 Uhr
Hallo Ludger und willkommen im Forum!

Etwas abgekürzt (und gänzlich ungetestet ) etwa so:
01.
@echo off & setlocal 
02.
set "Basis=C:\Dokumente" 
03.
 
04.
set /p nummer=Bitte die Dokumentnummer eingeben: 
05.
set "Nr=0000%nummer%" 
06.
set "Nr=%Nr:~-4% 
07.
 
08.
set datei= 
09.
for /f "delims=" %%i in ('dir /b "%Basis%\%Nr%*.*" 2^>nul') do set "datei=%Basis%\%%i" 
10.
if defined datei ("%datei%") else (echo %nummer% nicht gefunden!)
Grüße
bastla

[Edit] Umleitung einer ev Fehlermeldung bei "dir" durch "2>nul" ergänzt [/Edit]
Bitte warten ..
Mitglied: Ludger
02.06.2009 um 20:07 Uhr
Hallo Bastla,

vielen Dank. Genau das was ich beschrieben habe, hast Du hinbekommen.
Es gibt allerdings jetzt ein Problem mit Word Dateien, die Makros enthalten.

In Word selbst ist die Sicherheitsstufe auf Mittel gestellt, sodaß beim normalen öffnen noch die Zwischenfrage kommt, ob die Makros aktiviert werden sollen.
Das sollte am besten auch so bleiben.
Nur leider beim Öffnen über Makro kommt die Meldung
"Die Makros in diesem Projekt sind deaktiviert"

Kann man diesen Punkt irgendwie abfangen.

Danke schon mal bis hierhin

Ludger
Bitte warten ..
Mitglied: Ludger
02.06.2009 um 20:09 Uhr
Hallo Holzholer,

Danke für den Tip. Ist schon die richtige Richtung gewesen. Bastla hat da noch ein bisschen weiter ausgeholt und für meine Zwecke fast eine Punktlandung hinbekommen.

Vielen Dank noch mal und vielleicht bis zum nächsten Mal.

Ludger
Bitte warten ..
Mitglied: bastla
02.06.2009 um 20:25 Uhr
Hallo Ludger!

Was meinst Du mit "Öffnen über Makro"?

Das Öffnen per Batch sollte sich nicht von einem Öffnen per Direkteingabe des Dateipfades an der Kommandozeile oder einem Doppelklick auf die Datei unterscheiden (zumindest für eine Excel2003-Datei mit Makro und Sicherheitseinstellung "Mittel" habe ich das eben getestet) ...

Grüße
bastla
Bitte warten ..
Mitglied: Ludger
03.06.2009 um 22:46 Uhr
Hallo Bastla,

mit Öffnen über Makro meinte ich die Batch Datei.
Der Fehler war übrigens nach einem Neustart weg und ist nicht wieder erschienen.
Daher hattest Du schon recht mit Deiner letzten Meldung.

Danke nochmals

Mein Problem ist damit gelöst.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

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

Frage von patz223 zum Thema Windows Userverwaltung ...

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 ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...