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)
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
Meine Frage wäre also ob ich es einfacher machen kann wie ich hier?
Ich dachte erst an eine For schleife
Leider Funktionier das nicht?
Irgendwelche tips? :D
LG rcbenni
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%
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 476927
Url: https://administrator.de/contentid/476927
Ausgedruckt am: 23.11.2024 um 14:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo,
Meine Frage wäre also ob ich es einfacher machen kann wie ich hier?
Ich dachte erst an eine For schleife
Schon mal mit versucht?
LG rcbenni
Gruss Penny.
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
LG rcbenni
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.
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.
Hallo @rcbenni,
da Du mit der
Siehe auch mein Tutorial zur FOR-Schleife.
Grüße
Friemler
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
Ein FOR /? verrät:
Grüße
Steffen
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.Wenn der Satz Platzhalter enthält, dann bezieht sich der FOR-Befehl
auf Verzeichnisse und nicht auf Dateien.
... %%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