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
GELÖST

.exe mit mehreren Dateien im Parameter mittels batch oder vbs aufrufen

Frage Entwicklung Batch & Shell

Mitglied: doschtinator

doschtinator (Level 1) - Jetzt verbinden

19.09.2011, aktualisiert 21.09.2011, 4708 Aufrufe, 8 Kommentare

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
Mitglied: 60730
19.09.2011 um 23:57 Uhr
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:
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ß
Bitte warten ..
Mitglied: doschtinator
20.09.2011 um 00:16 Uhr
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
Das ganze wird dann in ein Ab- bzw. Anmeldeskript gesteckt. Muss erst einmal testen was sich da besser anbietet.

Nochmals Danke!

Gruß doschtinator
Bitte warten ..
Mitglied: 60730
20.09.2011 um 00:26 Uhr
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
Bitte warten ..
Mitglied: doschtinator
21.09.2011 um 19:03 Uhr
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!
Bitte warten ..
Mitglied: 60730
21.09.2011 um 20:37 Uhr
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ß
Bitte warten ..
Mitglied: doschtinator
21.09.2011 um 21:38 Uhr
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 -> 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

Danke und Gruß

doschtinator
Bitte warten ..
Mitglied: Biber
21.09.2011 um 21:50 Uhr
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
Bitte warten ..
Mitglied: 60730
21.09.2011 um 22:03 Uhr
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

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
das hab ich grade krummgebogen
/edit
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

Entwicklung
gelöst Mit Batch,VBS,Powershell Windows einrichten (1)

Frage von Justin98 zum Thema Entwicklung ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

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

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...