doschtinator
Goto Top

.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: http://www.schraegstrichpunkt.de/firefox-performance-tipps-aufraeumen-u ...

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 (http://www.schraegstrichpunkt.de/firefox-performance-tipps-aufraeumen-u ...) ), 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

Content-ID: 173368

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

Ausgedruckt am: 23.11.2024 um 05:11 Uhr

60730
60730 19.09.2011 um 23:57:47 Uhr
Goto Top
moin,

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:

Und wie du die beiden Demos nun in eine Batch bekommst, sagt dir for /?
scharfschalten nicht vergessen

Gruß
doschtinator
doschtinator 20.09.2011 um 00:16:54 Uhr
Goto Top
Hallo und Danke für den Beitrag!
Teste es heute nicht mehr, gehe aber davon aus dass es funktionieren wird! Super!


  • Wenn der Feuerfuxs dabei rennt, mag der das sicherlich nicht so gerne, dass du dem die DBs unterm hintern wegrationalisierst...


Keine Angst, ist mir schon klar face-smile
Das ganze wird dann in ein Ab- bzw. Anmeldeskript gesteckt. Muss erst einmal testen was sich da besser anbietet.

Nochmals Danke!

Gruß doschtinator
60730
60730 20.09.2011 um 00:26:36 Uhr
Goto Top
Servus,

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
doschtinator
doschtinator 21.09.2011 um 19:03:50 Uhr
Goto Top
Hallo,

ich muss mich noch einmal melden, da meine Versuche doch nicht so funktionieren wie gewollt ;-(

Ich habe jetzt mal eine paar *.sqlite Dateien in einen separaten Ordner kopiert um damit zu testen. Dazu ebenfalls die sqlite3.exe und auch meine sqlite_vac.bat mit folgendem Inhalt:

--
for %%i in (*.sqlite) do echo VACUUM; | sqlite3 %%i
--

Da der obige Code von TimoBeil leider auch nicht funktioniert hat, habe ich diesen von der Seite http://www.gettingclever.com/2008/06/vacuum-your-firefox-3.html genommen. Dort schreibt ein Nutzer, dass er mit dieser Batch bei jedem 10. Start des FF die .sqlite Dateien "säubert".
Den jeweils 10. Start habe ich mal rausgenommen, da mich das erst einmal nicht interessiert. Allerdings funktioniert die gekürzte Variante auch nicht!
Wenn ich ein Fenster öffne bei dem ich die Kommandozeile direkt eingeben kann, dann verrichtet der Befehl wie gewollt seine Aufgabe. Sobald ich den Befehl aber in einer .bat abspeichere und diese starte, blitzt nur kurz ein Fenster auf und die Größe der Dateien bleibt unverändert.
Jetzt wird es für mich doch unklar ...
Ich teste auf einem Win7 Rechner und auch das "Ausführen als Admin" bringt keinen Unterschied.

Vielleicht kann mir noch jemand behilflich sein?

Gruß doschtinator

P.S.: Habe den Link in meinem ersten Posting korrigiert. "Scharfschalten"? Gebe zu, dass ich nicht verstehe was damit gemeint ist!
60730
60730 21.09.2011 um 20:37:21 Uhr
Goto Top
moinsen,

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 wirich...
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.
ok . ein Luftschloss Meister Biber&Meister Bastla freuen sich bestimmt über diese Benamsung zuviel...
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 Lehrzeichenstück, das ich einen Stempel untested brauche..

  • 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
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:
  • 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>
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ß
doschtinator
doschtinator 21.09.2011 um 21:38:20 Uhr
Goto Top
Hallo,

Danke nochmals für den Tipp und die Arbeit.
Allerdings funktioniert bei mir die Lösung wie oben vorgeschlagen nicht! Es erscheint die Meldung, dass "... kann an dieser Stelle nicht syntaktisch verarbeitet werden" oder so ähnlich face-smile -> Habe den Bildschirm abgefilmt und so konnte ich die Fehlermeldung lesen.
Ich habe mit ein wenig Recherche und Probieren jetzt doch eine Lösung gefunden die funktioniert:

--
REM sqlite vacuum
echo SQLite Vacuum startet
for %%i in (*.sqlite) do sqlite3 %%i VACUUM
pause
--

Damit kann ich jetzt entsprechend weitermachen.
Pfade und sonstiges werde ich sicherlich ohne Probleme anpassen können. Ansonsten melde ich mich noch einmal face-wink

Danke und Gruß

doschtinator
Biber
Biber 21.09.2011 um 21:50:23 Uhr
Goto Top
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
60730
60730 21.09.2011 um 22:03:50 Uhr
Goto Top
Servus Biber..
[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...

  • 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 face-wink

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

Zurück/retour

edit----

jetzt hab ichs - schon wieder ein Lehrzeichen, diesmal zwischen code und =plain, das hat dich irritiert face-wink
das hab ich grade krummgebogen face-wink
/edit
Mehr von doschtinatordoschtinatorISA 2006 blockt FTP Zugriffdoschtinator - 6 KommentaredoschtinatorWindows 2003 mit ISA 2006 - Webanfragen an Ubuntu owncloud weiterleitendoschtinator - 2 KommentaredoschtinatorHkey classes root - Registry Wert mit vbs setzendoschtinator - 1 KommentardoschtinatorTxt Datei ab einer bestimmten Zeile auslesen und in neue txt schreiben bzw. speicherndoschtinator - 2 Kommentare
Heiß diskutiert
superfun2k24Sophos SFOS 20 DNAT funktioniert nichtsuperfun2k24 - 26 Kommentareuser217Kaufberatung Hardware - Hyper-V Cluster 3 Nodesuser217 - 25 KommentarePharaunIntel-E810 QSFP28 to Mikrotik QSPF+ mit 40Gbit VerbindungPharaun - 24 Kommentareprplemk2Testumgebung bauen (Grundlegend)prplemk2 - 19 KommentareaufdemmarsHP Z620 USB hat kein Strom beim Startenaufdemmars - 17 KommentareTJ.Hooker74Dom.Admin-Passwort ändern - Auswirkungen auf EX, HCW, AADCTJ.Hooker74 - 15 KommentaremaisenkaiserSwitch ohne STP ins Netzwerkmaisenkaiser - 13 KommentareJudgelgZertifikate in die Exchange Online GAL hochladenJudgelg - 13 KommentareadmtechEntwicklertagebuch: Release 6.4 - Filteradmtech - 13 KommentareUnluckyProccess1999Creo 4.0 Lizenz Server (LMTOOLS)UnluckyProccess1999 - 13 KommentareleberkaeseFB7590 ISDN Fax-Funktionleberkaese - 12 KommentareZZaaiiggaaEDIFACT - Keins vorhanden ?ZZaaiiggaa - 11 Kommentare