.exe mit mehreren Dateien im Parameter mittels batch oder vbs aufrufen
Verweis auf das eigentliche Problem, welches mittels Batch oder vbs Datei automatisiert werden soll: schraegstrichpunkt.de/firefox-performance-tipps-aufraeumen-und-s ...
Hallo,
ich wende mich mal wieder mit einer Bitte an das Forum, in dem mir bisher immer prima geholfen wurde.
Wie unter dem Link zu sehen (schraegstrichpunkt.de/firefox-performance-tipps-aufraeumen-und-s ...) ), möchte ich die "Entschlackung" der sqlite Dateien automatisch vornehmen lassen. Dazu habe ich schon den folgenden Befehl gestestet:
--
cd H:\Firefox
start sqlite3.exe urlclassifier3.sqlite vacuum
--
Funktioniert, jedoch befinden sich gut ein Dutzend Dateien mit der Dateiendung .sqlite in dem Ordner.
Meine Idee:
Mittels batch alle Dateien mit der Endung .sqlite auslesen und falls eine Datei gefunden wird, soll diese gleich im Parameter mit der exe aufgerufen werden. Danach weitermachen, so lange, bis alle Dateien auf ihre Endung geprüft und ggf. auch aufgerufen wurden.
Leider habe ich keinen Schimmer wie ich dies vernünftig bewerkstelligen soll. Sicherlich mangelt es mir da an Erfahrung und Können, aber ich bin über jeden Hinweis und Tipp dankbar!
Grüße
doschtinator
Hallo,
ich wende mich mal wieder mit einer Bitte an das Forum, in dem mir bisher immer prima geholfen wurde.
Wie unter dem Link zu sehen (schraegstrichpunkt.de/firefox-performance-tipps-aufraeumen-und-s ...) ), möchte ich die "Entschlackung" der sqlite Dateien automatisch vornehmen lassen. Dazu habe ich schon den folgenden Befehl gestestet:
--
cd H:\Firefox
start sqlite3.exe urlclassifier3.sqlite vacuum
--
Funktioniert, jedoch befinden sich gut ein Dutzend Dateien mit der Dateiendung .sqlite in dem Ordner.
Meine Idee:
Mittels batch alle Dateien mit der Endung .sqlite auslesen und falls eine Datei gefunden wird, soll diese gleich im Parameter mit der exe aufgerufen werden. Danach weitermachen, so lange, bis alle Dateien auf ihre Endung geprüft und ggf. auch aufgerufen wurden.
Leider habe ich keinen Schimmer wie ich dies vernünftig bewerkstelligen soll. Sicherlich mangelt es mir da an Erfahrung und Können, aber ich bin über jeden Hinweis und Tipp dankbar!
Grüße
doschtinator
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 173368
Url: https://administrator.de/forum/exe-mit-mehreren-dateien-im-parameter-mittels-batch-oder-vbs-aufrufen-173368.html
Ausgedruckt am: 13.07.2025 um 15:07 Uhr
8 Kommentare
Neuester Kommentar

moin,
wieder mal ein typischer Fall für eine Schleife...
<edit>
</edit>
.. und mal wieder ein Typischer Fall von fadem Nebengeschmack...
Ergo:
Und wie du die beiden Demos nun in eine Batch bekommst, sagt dir for /?
scharfschalten nicht vergessen
Gruß
wieder mal ein typischer Fall für eine Schleife...
<edit>
</edit>
for /f %a in ('dir /b " H:\Firefox\*.sqlite"') do echo call sqlite3.exe H:\Firefox\%~nxa vacuum
.. und mal wieder ein Typischer Fall von fadem Nebengeschmack...
- Wenn der Feuerfuxs dabei rennt, mag der das sicherlich nicht so gerne, dass du dem die DBs unterm hintern wegrationalisierst...
Ergo:
tasklist|find /i "firefox" && echo der Feuerfuxx ist an||echo der Feuerfuxx macht ne Pause.
Und wie du die beiden Demos nun in eine Batch bekommst, sagt dir for /?
scharfschalten nicht vergessen
Gruß

Servus,
zwei, drei xxx bitten...
N8
zwei, drei xxx bitten...
- deine Überschrift, der Link ist falsch /)
- Dein Titel ist irreführend
Verweis auf das eigentliche Problem, welches mittels Batch oder vbs Datei automatisiert werden soll:
Strenggenommen ist das falsch - Problem, welches ohne Backup durch eine Batch automatisch erzeugt werden soll - wäre passender.- Backups vorm scharfschalten
Teste es heute nicht mehr, gehe aber davon aus dass es funktionieren wird!
- Nein - das sind Demos, die "so" in einer Batch nur demonstrieren ....
N8

moinsen,
also mal von vorne...
In meinem Ordner Test auf Laufwerk e:\ hab ich also sqlite Dateien.
Ich "will" das aber haargenauso nachbauen, wie es bei dir ist, also tricksenwirich...
Damit habe ich jetzt genau dein beschriebenes Umfeld.
Jetzt werfe ich meine obige Demo an..
ok . ein Luftschloss Meister Biber&Meister Bastla freuen sich bestimmt über diese Benamsung zuviel...
Dafür, dass ich den Winblows Code aus dem Bauch auf einem Mac geschrieben habe, und mir die besonderen Sonderzeichen wie ' aus dem Finger saugen musste, ist das meit dem zuvielen Leerzeichen ein Lehrzeichenstück, das ich einen Stempel untested brauche..
Aber nur in meinem Beispiel, der von dir genannte Weg ist etwas anders, aber ich vermute, wenn du nach batch scharfstellen Pipe hier suchst, erspare ich mir noch mehr Text...
Ergo:
Und wenn das bei dir auch nicht läuft, liegts daran, dass die Batch in dem Ordner . indem Sie gassi geht ausgeführt wird, keine .sqlite Dateien oder die sqlite3.exe findet.
Alle unklarheiten beseitigt?
Gruß
also mal von vorne...
E:\test>
E:\test>dir /b *.sqlite
addons.sqlite
chromeappsstore.sqlite
content-prefs.sqlite
cookies.sqlite
downloads.sqlite
extensions.sqlite
formhistory.sqlite
permissions.sqlite
places.sqlite
search.sqlite
signons.sqlite
webappsstore.sqlite
In meinem Ordner Test auf Laufwerk e:\ hab ich also sqlite Dateien.
Ich "will" das aber haargenauso nachbauen, wie es bei dir ist, also tricksen
E:\test>subst h: e:\test
E:\test>md firefox
E:\test>subst h: e:\test
E:\test>xcopy *.sqlite firefox\
E:addons.sqlite
E:chromeappsstore.sqlite
E:content-prefs.sqlite
E:cookies.sqlite
E:downloads.sqlite
E:extensions.sqlite
E:formhistory.sqlite
E:permissions.sqlite
E:places.sqlite
E:search.sqlite
E:signons.sqlite
E:webappsstore.sqlite
12 Datei(en) kopiert
E:\test>cd /d h:\firefox
H:\firefox>dir /b
addons.sqlite
chromeappsstore.sqlite
content-prefs.sqlite
cookies.sqlite
downloads.sqlite
extensions.sqlite
formhistory.sqlite
permissions.sqlite
places.sqlite
search.sqlite
signons.sqlite
webappsstore.sqlite
Damit habe ich jetzt genau dein beschriebenes Umfeld.
Jetzt werfe ich meine obige Demo an..
H:\firefox>for /f %a in ('dir /b " H:\Firefox\*.sqlite"') do echo call sqlite3.e
xe H:\Firefox\%~nxa vacuum
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung
ist falsch.
H:\firefox>for /f %a in ('dir /b "H:\Firefox\*.sqlite"') do echo call sqlite3.ex
e H:\Firefox\%~nxa vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\addons.sqlite vacuum
call sqlite3.exe H:\Firefox\addons.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\chromeappsstore.sqlite vacuum
call sqlite3.exe H:\Firefox\chromeappsstore.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\content-prefs.sqlite vacuum
call sqlite3.exe H:\Firefox\content-prefs.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\cookies.sqlite vacuum
call sqlite3.exe H:\Firefox\cookies.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\downloads.sqlite vacuum
call sqlite3.exe H:\Firefox\downloads.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\extensions.sqlite vacuum
call sqlite3.exe H:\Firefox\extensions.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\formhistory.sqlite vacuum
call sqlite3.exe H:\Firefox\formhistory.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\permissions.sqlite vacuum
call sqlite3.exe H:\Firefox\permissions.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\places.sqlite vacuum
call sqlite3.exe H:\Firefox\places.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\search.sqlite vacuum
call sqlite3.exe H:\Firefox\search.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\signons.sqlite vacuum
call sqlite3.exe H:\Firefox\signons.sqlite vacuum
H:\firefox>echo call sqlite3.exe H:\Firefox\webappsstore.sqlite vacuum
call sqlite3.exe H:\Firefox\webappsstore.sqlite vacuum
H:\firefox>
Dafür, dass ich den Winblows Code aus dem Bauch auf einem Mac geschrieben habe, und mir die besonderen Sonderzeichen wie ' aus dem Finger saugen musste, ist das meit dem zuvielen Leerzeichen ein Lehr
- wie du erkennen kannst macht die Zeile aber nur das anzeigen, die Weicheifraktion der Admins bevorzugt sowas im Testbetrieb.
echo == sag mir, was du machen würdest, aber mach nix
Ergo:
- sieht das da oben für dich sauber aus, dann nimmst du das echo vorm call weg
- soll das in eine Batch, muß jedes % einen zwilling bekommen - siehe da unten - da hab ich deine batch variante absichtlich in einer Dosbox laufen lassen:
H:\firefox>for %%i in (*.sqlite) do echo VACUUM; | sqlite3 %%i
"%%i" ist syntaktisch an dieser Stelle nicht verarbeitbar.
H:\firefox>for %i in (*.sqlite) do echo VACUUM; | sqlite3 %i
H:\firefox>echo VACUUM; | sqlite3 addons.sqlite
H:\firefox>echo VACUUM; | sqlite3 chromeappsstore.sqlite
H:\firefox>echo VACUUM; | sqlite3 content-prefs.sqlite
H:\firefox>echo VACUUM; | sqlite3 cookies.sqlite
H:\firefox>echo VACUUM; | sqlite3 downloads.sqlite
H:\firefox>echo VACUUM; | sqlite3 extensions.sqlite
H:\firefox>echo VACUUM; | sqlite3 formhistory.sqlite
H:\firefox>echo VACUUM; | sqlite3 permissions.sqlite
H:\firefox>echo VACUUM; | sqlite3 places.sqlite
H:\firefox>echo VACUUM; | sqlite3 search.sqlite
H:\firefox>echo VACUUM; | sqlite3 signons.sqlite
H:\firefox>echo VACUUM; | sqlite3 webappsstore.sqlite
H:\firefox>
Alle unklarheiten beseitigt?
Gruß
Na ja, T-Mo,
ich weiss ja nicht.... in der Zeit hättest du dir auch Rasta-Zöpfe flechten können oder deiner Frau eine Dauerwelle legen oder so...
Der verlinkte Tipp (den ich durchaus GUT bewerten würde) sagt doch nur
1) SQLite downloaden (“Pre compiled Binaries for Windows”)
2) Die Datei sqlite3.exe in den Profilordner kopieren.
3) Firefox schließen.
4) Eingabeaufforderung (Start -> ausführen -> cmd) öffnen und in das Profilverzeichnis navigieren.
5) [Im FF-Profilverzeichnis am CMD-Prompt] for %a in (*.sqlite) do (sqlite3 %a vacuum)
Punkt 1) ist eine einmalige Aktion.
Punkt 2) würde ich ändern in "in ein Verzeichnis im definierten %path% kopieren".
Auch den Plan, das 4) und 5), also Wechseln in das FF-Profilverzeichnis und dir FOR-Anweisung) per Batch statt von Hand abzufackeln.. okay.
Aber diesen Batch dann bei jeder An- oder Abmeldung anzuwerfen oder gar mit Taskkill sicherzustellen, dass kein Firefox mehr läuft...
--> Nö, wäre mir zu überdimensioniert.
Ist ein typischer Fall von "hin- und wieder sollte ich mal Fenster putzen (so alle paar Wochen) ", aber kein Fall von "täglich 2x rumoptimieren".
Ein Einzeiler wie vom Tippgeber gepostet reicht allemal zum gelegentlichen BEWUSSTEN (statt automatischen) Reorganisieren.
Grüße
Biber
ich weiss ja nicht.... in der Zeit hättest du dir auch Rasta-Zöpfe flechten können oder deiner Frau eine Dauerwelle legen oder so...
Der verlinkte Tipp (den ich durchaus GUT bewerten würde) sagt doch nur
1) SQLite downloaden (“Pre compiled Binaries for Windows”)
2) Die Datei sqlite3.exe in den Profilordner kopieren.
3) Firefox schließen.
4) Eingabeaufforderung (Start -> ausführen -> cmd) öffnen und in das Profilverzeichnis navigieren.
5) [Im FF-Profilverzeichnis am CMD-Prompt] for %a in (*.sqlite) do (sqlite3 %a vacuum)
Punkt 1) ist eine einmalige Aktion.
Punkt 2) würde ich ändern in "in ein Verzeichnis im definierten %path% kopieren".
Auch den Plan, das 4) und 5), also Wechseln in das FF-Profilverzeichnis und dir FOR-Anweisung) per Batch statt von Hand abzufackeln.. okay.
Aber diesen Batch dann bei jeder An- oder Abmeldung anzuwerfen oder gar mit Taskkill sicherzustellen, dass kein Firefox mehr läuft...
--> Nö, wäre mir zu überdimensioniert.
Ist ein typischer Fall von "hin- und wieder sollte ich mal Fenster putzen (so alle paar Wochen) ", aber kein Fall von "täglich 2x rumoptimieren".
Ein Einzeiler wie vom Tippgeber gepostet reicht allemal zum gelegentlichen BEWUSSTEN (statt automatischen) Reorganisieren.
Grüße
Biber

Servus Biber..
[OT]

Zuerst wollte er doch nur wissen, wie es geht, den Einzeiler hat er doch später erst gefunden und gepostet - weil ich im ersten Anlauf ein Leerzeichen drin hatte...
Bis auf das Bildchen einzufügen hab ich den genauso gelassen, wie er ursprünglich war.
[/OT]
Zurück/retour
edit----
jetzt hab ichs - schon wieder ein Lehrzeichen, diesmal zwischen code und =plain, das hat dich irritiert
das hab ich grade krummgebogen
/edit
[OT]
Zitat von @Biber:
Na ja, T-Mo,
ich weiss ja nicht.... in der Zeit hättest du dir auch Rasta-Zöpfe flechten können oder deiner Frau eine Dauerwelle legen oder so...
Na ja, T-Mo,
ich weiss ja nicht.... in der Zeit hättest du dir auch Rasta-Zöpfe flechten können oder deiner Frau eine Dauerwelle legen oder so...
- Rastas? bin ich das Momo aus der
Blindenstrasse? - Meine Frau mit Minipli? - die heisst doch nicht Tante Käthe..
- hätt ich einen Grund mir zwei Stempel zu Gimpen? die ich vielleicht noch ein paar mal nutze?
Der verlinkte Tipp (den ich durchaus GUT bewerten würde) sagt doch nur
Ich werkel schon seit ein paar Monden mit sqlite und andern DBs, das der Tipp schlecht ist - hab ich nirgendwo geschrieben Aber diesen Batch dann bei jeder An- oder Abmeldung anzuwerfen oder gar mit Taskkill sicherzustellen, dass kein Firefox mehr läuft...
- sag ich doch (bis aufs Killen) gar nicht
--> Nö, wäre mir zu überdimensioniert.
Ist ein typischer Fall von "hin- und wieder sollte ich mal Fenster putzen (so alle paar Wochen) ", aber kein Fall von "täglich 2x rumoptimieren".
Ist ein typischer Fall von "hin- und wieder sollte ich mal Fenster putzen (so alle paar Wochen) ", aber kein Fall von "täglich 2x rumoptimieren".
- Naja - wenn wir beide mal eben kurz was zusammenbruzzeln, dann kann (zumindestens bei mir) auch mal ein Lehrzeichen an der falschen Stelle hängen, für einen Laien ist das klickigucki schon netter - wobei ich immer noch keine Batchzeile hier liegen liess, dass sind doch nur Demos für die Dosboxx..
Ein Einzeiler wie vom Tippgeber gepostet reicht allemal zum gelegentlichen BEWUSSTEN (statt automatischen) Reorganisieren.
Wo findest du hier eine von mir geschliffene Schleifenzeile mit zwei %% ?Zuerst wollte er doch nur wissen, wie es geht, den Einzeiler hat er doch später erst gefunden und gepostet - weil ich im ersten Anlauf ein Leerzeichen drin hatte...
Bis auf das Bildchen einzufügen hab ich den genauso gelassen, wie er ursprünglich war.
[/OT]
Grüße
Biber
Biber
Zurück/retour
edit----
jetzt hab ichs - schon wieder ein Lehrzeichen, diesmal zwischen code und =plain, das hat dich irritiert
das hab ich grade krummgebogen
/edit