rcbenni
Goto Top

Schaltplansuche per Batch datei

Hey Leute,
Ich habe vor langem für die Firma in der ich arbeite eine Schaltplansuche geschrieben.
Nun wollte ich diese etwas verbessern.

Bei ungefähr 100.000 Schaltplänen sehr praktisch so ein "Programm"


Nun zum Programm: (kleiner ausschnitt)

:1
color 8f
cls
echo 			Letzte Suche:%sch%
echo.
call :colorEcho 80 "Schaltplannummer ohne Punkt eingeben                                                   Erweiteter Modus inaktiv"  
echo.
call :colorEcho 80 "                                                                                   Best%ue%ckungsplanssuche = b"  
echo.
Set /p N=Eingabe:
set part1=%N%
set part1=%part1:~0,4%
set part2=%N%
set part2=%part2:~4,3%
set part3=%N%
set part3=%part3:~7,2%
set part4=%N%
set part4=%part4:~9,3%
set sch=%part1%.%part2%.%part3%.%part4%
echo %sch%
So ein Schaltplan heißt in der Regel z.B 9485.000.52.000.e3s ABER Manchmal heißt es z.B 9485.000.52.000_DMZ.e3s

cls
V:
cd V:\Projekte\%part1%
if not exist %sch%.e3s goto 23
start %sch%.e3s
goto 1



:23
if not exist %sch%_DMZ.e3s goto 24
start %sch%.e3s

start %sch%_DMZ.e3s
goto 1
:24
usw....



Meine Frage wäre also ob ich es einfacher machen kann wie ich hier?
Ich dachte erst an eine For schleife
For /D %i (9485\%sch%*.e3s) do start %i
oder
For /D %%i (9485\%sch%*.e3s) do start %%i

Leider Funktionier das nicht?

Irgendwelche tips? :D

LG rcbenni

Content-ID: 476927

Url: https://administrator.de/contentid/476927

Ausgedruckt am: 23.11.2024 um 14:11 Uhr

wiesi200
wiesi200 24.07.2019 um 12:44:39 Uhr
Goto Top
Hallo,

ich würd wenn ich's selber machen wollte das in eine Datenbank indizieren und dann per Webfrontend ne Suchmaske basteln.
Oder ein Dokumentenmanagement System verwenden.
Penny.Cilin
Penny.Cilin 24.07.2019 um 12:57:59 Uhr
Goto Top
Zitat von @rcbenni:

Hey Leute,
Hallo,

Meine Frage wäre also ob ich es einfacher machen kann wie ich hier?
Ich dachte erst an eine For schleife

For /D %i (9485\%sch%*.e3s) do start %i

Schon mal mit
 For /D %%i (9485\%sch%*.e3s) do start %%i
versucht?

LG rcbenni
Gruss Penny.
rcbenni
rcbenni 24.07.2019 um 13:08:55 Uhr
Goto Top
Habs grad nochmal probiert mit dem Code
@echo on
V:
cd projekte
set sch=4608.480.03.200
For /D %%i (4608\%sch%*.e3s) do start %%i
pause
Hat leider nicht Funktioniert. Bekomm auch keine Fehlermeldung dazu ?
Die Batch Datei hat sich dann einfach geschlossen?
rcbenni
rcbenni 24.07.2019 aktualisiert um 13:12:09 Uhr
Goto Top
@wiesi200

Mir bleibt da nicht viel Wahl als es mit einer Batch Datei zu machen da Ich nicht dafür eingestellt bin und dies als Eigeninitiative mache.
(und Ich hab nicht die leiseste Ahnung wie ich Datenbanken indiziere oder was Webfrontend ist)

Trotzdem danke face-smile
manuel-r
manuel-r 24.07.2019 um 15:08:26 Uhr
Goto Top
Im einfachsten Fall (quick&dirty) mit einer Frontend und einer Backend-AccessDB sowie ein bisschen VBScript oder Powershell.
Das Script lässt du als geplanten Task den Speicherort eurer Schaltpläne absuchen und die gefundenen Dateien in die Datenbank eintragen. Über das Frontend kann dann jeder der muss die DB durchsuchen. Fertig.
Natürlich kann man das noch um einiges ausbauen. Der Appetit kommt aber ja bekanntlich beim essen...

Manuel

PS:
Es gibt auch noch den SearchServer von Microsoft. Allerdings scheint der bei Version 2010 stehen geblieben zu sein.
rcbenni
rcbenni 25.07.2019 um 09:27:29 Uhr
Goto Top
@manuel-r
Leider sind meine Kenntnisse was VB oder PowerShell angeht ziemlich schlecht....
Lässt sich das also nicht mit einer Batch realisieren?

Will eig. "nur" das die Batch Dateien Starten die mit einer gewissen nummer anfangen
Man gibt 4608.480.03.200 ein und es öffnet sich dann 4608.480.03.200_DMZ.e3s und 4608.480.03.200_MFT.e3s usw...
alles was halt die zahl 4608.480.03.200 enthaltet.

Danke für deine Zeit face-smile
manuel-r
manuel-r 25.07.2019 um 10:05:20 Uhr
Goto Top
Leider sind meine Kenntnisse was VB oder PowerShell angeht ziemlich schlecht....
Lässt sich das also nicht mit einer Batch realisieren?

Keine Ahnung. Ich bin nicht der Batch-Papst. Da gibt es andere hier.
wiesi200
wiesi200 25.07.2019 um 12:36:03 Uhr
Goto Top
Versuch doch einfach mal den schon genannten Searchserver
Friemler
Lösung Friemler 25.07.2019 um 19:17:56 Uhr
Goto Top
Hallo @rcbenni,

da Du mit der FOR-Schleife Dateien suchen möchtest, musst Du den Schalter /D weglassen. Ansonsten werden nur Verzeichnisse gesucht.

Siehe auch mein Tutorial zur FOR-Schleife.

Grüße
Friemler
rubberman
Lösung rubberman 25.07.2019 um 21:06:47 Uhr
Goto Top
Zitat von @rcbenni:
For /D ...
Ein FOR /? verrät:
FOR /D %Variable IN (Satz) DO Befehl [Parameter]

Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
auf Verzeichnisse und nicht auf Dateien.
Also ist das /D wohl eher kontraproduktiv.
... %%i (...
Mit einem in zwischen %%i und ( gibt's auch keinen Syntaxfehler mehr.
for %%i in ("9485\%sch%*.e3s") do start "" "%%~i"  

Grüße
Steffen