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

Batch-Datei die nach einem bestimmten Dateinamen sucht....

Frage Entwicklung Batch & Shell

Mitglied: Enno78

Enno78 (Level 1) - Jetzt verbinden

07.08.2010 um 15:29 Uhr, 3704 Aufrufe, 10 Kommentare

Hallo!

Ich suche ein Programm,was unter Doss 6.22 läuft, zum Aufrufen einer bestimmten Datei.

Das ganze sollte so funktionieren:

1.Man startet das Prgramm

2. Es erscheint eine Abfrage, wo man den Namen der aufzurufenden Datei mit Endung eingibt

3. Das Programm sucht die Datei und öffnet sie mit einem Editor (....bei mir sollte die Datei mittels Word geöffnet werden)

4. Eventuelle Abfrage ob weitere Dateien gesuchten werden sollen.


Danke, Gruss Enno
Mitglied: kkboy94
07.08.2010 um 15:31 Uhr
Was meinst du mit "Doss 6.22"?

Mit freundlichen Grüßen Karsten
Bitte warten ..
Mitglied: Enno78
07.08.2010 um 15:36 Uhr
das Betriebssystem " Dos" in meinem Fall die Version 6.22

also das Programm sollte unter DOS laufen.
Bitte warten ..
Mitglied: kkboy94
07.08.2010 um 15:38 Uhr
Hmm so alt bin ich nicht, aber das müssten doch ganz normale CMD-Befehle sein oder?
Wenn ja versuchs mal so (ungetestet):
01.
@echo off & setlocal 
02.
::HIER MUSST DU DEINEN WORD PFAD EEINSETZEN( aber die " " lassen) 
03.
set word="C:\Programme\Office\Word.exe" 
04.
 
05.
:Drive 
06.
echo. 
07.
set  /p "drive=Laufwerk angeben (z.B.: C:\ ): " 
08.
if not defined drive goto :Drive 
09.
:Datei 
10.
set /p "datei=Dateinamen mit Endung angeben: " 
11.
if not defined datei goto :Datei 
12.
for /f "delims=" %%a in ('dir "%drive%"|find /i "%datei%"') do start "word" "%word%"  "%%a" 
13.
::Wobei ich mir nicht sicher bin ob die Parameterübergabe so klappt 
14.
pause
Bitte warten ..
Mitglied: Enno78
07.08.2010 um 16:04 Uhr
Und wie sieht so ein Programm damit aus?
Bitte warten ..
Mitglied: kkboy94
07.08.2010 um 16:12 Uhr
siehe oben,
Ich bin aber halt nicht ganz sicher. Das ist auch noch alles ganz grob skizziert, sollte aber theoretisch den zweck erfüllen
Bitte warten ..
Mitglied: rubberman
07.08.2010 um 17:16 Uhr
Hallo Karsten.

DOS bedeutet in diesem Fall aber auch, dass es nur die command.com gibt (cmd.exe war noch nicht geboren).
Befehlserweiterungen, wie set /p oder for /f existieren nicht.
Ich verkneife es mir einen Lösungsvorschlag zu posten, da ich hier auch überfordert bin. Dinge, wie
"2. Es erscheint eine Abfrage, wo man den Namen der aufzurufenden Datei mit Endung eingibt"
sind soweit ich weiß nicht möglich.

Grüße
rubberman
Bitte warten ..
Mitglied: kkboy94
07.08.2010 um 17:47 Uhr
Das ist aber doof -.-
Sorry Enno, dann kann ich dir auch leider nicht helfen.


Mit freundlichen Grüßen Karsten
Bitte warten ..
Mitglied: bastla
07.08.2010 um 23:24 Uhr
Hallo Enno78!

Du könntest es mit den folgenden beiden Dateien versuchen:
01.
@echo off 
02.
set Bearb=%TEMP%\BEARB.BAT 
03.
:Loop 
04.
qbasic /run DatSuch.bas 
05.
if not exist %Bearb% goto :Ende 
06.
call %Bearb% 
07.
echo\ 
08.
echo\ 
09.
goto :Loop 
10.
:Ende 
11.
cls
als zB "Bearbeit.bat" gespeichert und

01.
TempBat$ = "BEARB.BAT" 
02.
INPUT "Dateiname (x = Ende)"; Datei$ 
03.
i = 1: WHILE ENVIRON$(i) <> "": IF LEFT$(ENVIRON$(i), 5) = "TEMP=" THEN TEMP$ = MID$(ENVIRON$(i), 6) 
04.
i = i + 1: WEND 
05.
TB$ = TEMP$ + "\" + TempBat$ 
06.
IF UCASE$(Datei$) = "X" THEN GOTO Abbruch 
07.
Cmd$ = "DIR /S /B " + "C:\" + Datei$ + " >" + TB$ 
08.
SHELL Cmd$ 
09.
OPEN TB$ FOR INPUT AS #1 
10.
Gef$ = "" 
11.
DO WHILE NOT EOF(1) 
12.
    INPUT #1, Gef$ 
13.
LOOP 
14.
CLOSE 1 
15.
OPEN TB$ FOR OUTPUT AS 1 
16.
IF Gef$ <> "" THEN 
17.
    PRINT #1, "@edit " + Gef$ 
18.
ELSE 
19.
    PRINT #1, "@echo off" 
20.
    PRINT #1, "echo " + CHR$(34) + Datei$ + CHR$(34) + " nicht gefunden!" 
21.
    PRINT #1, "echo\" 
22.
END IF 
23.
SYSTEM 
24.
 
25.
Abbruch: 
26.
ON ERROR GOTO Beenden 
27.
KILL TB$ 
28.
Beenden: 
29.
SYSTEM
als "DatSuch.bas" gespeichert - falls nicht im selben (und aktuellen Verzeichnis) wie die Batchdatei, dann muss in Zeile 4 des Batches der vollständige Pfad zur "DatSuch.bas" angegeben werden.

Zusätzlich muss noch das Verzeichnis %TEMP% existieren - den Pfad findest Du mit
set
Kurz zur Funktionsweise:
Der Batch ruft zunächst ein QBasic-Programm auf, welches die Eingabe und die Suche nach der entsprechenden Datei (auf Laufwerk C: - siehe Zeile 7) übernimmt - gefunden wird dabei immer nur die letzte der per "dir /s /b C:\Dateiname.Typ" ausgegebenen Dateien ...

Der Aufruf zur Bearbeitung dieser Datei (im Beispiel mit dem Editor "edit.com") wird über einen temporären Batch "%TEMP%\BEARB.BAT" vorgenommen - um anstelle des Editors ein anderes Programm zu verwenden, die Zeile 17 entsprechend anpassen, zB:
PRINT #1, "@C:\Word\word.exe " + Gef$
Danach übernimmt wieder der "Hauptbatch" und startet erneut das Basic-Programm.

Dies wird solange fortgesetzt, bis bei der Abfrage des Dateinamens "x" eingegeben wird.

Grüße
bastla
Bitte warten ..
Mitglied: 60730
07.08.2010 um 23:42 Uhr
Moin
Zitat von bastla:
qbasic /run DatSuch.bas
Grüße
bastla

[OT]
@bastla:
Ach du grüne Neune, hast du das jetzt aus deinen grauen Hirnzelle rausgequetscht, oder wirklich noch eine echte/virtuelle aktive Doskiste?
Ne Kiste mit (fast allen) Dosdisketten hab ich zwar noch, aber auf die Idee heute nochmal Qbasic anzuwerfen...
[/OT]
Du hast deinen Nicknamen echt verdient

Grüße
Bitte warten ..
Mitglied: bastla
07.08.2010 um 23:51 Uhr
[OT]
@Ti-Mo
Wie, Du kommst ganz ohne DOS 6.22 aus?

Tatsächlich hat mich vor Kurzem die Vergangenheit eingeholt - ein von mir 1990 verbrochenes (Mini-)QBasic-Programm ist bei einem Kunden allen Ernstes noch immer in Verwendung, was sich beim Umstieg auf W7/64Bit als etwas problematisch erwiesen hat - im XP-Mode (bzw dessen VM) tut's jetzt aber wieder ...

Grüße
bastla
[/OT]
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...