scooter010
Commander
- Registriert
- Sep. 2014
- Beiträge
- 2.830
Moin Forum!
Ich nutze Spotify und habe es auf einer SSD. Da es immer noch eine erhöhte Schreibleistung auf SSDs erzeugen soll, verschiebe ich die Anwendung vor dem Start in eine RAM-Disk und erstelle symbolische Verknüpfungen zwischen dem ursprünglichen Speicherort und der RAM-Disk. Wird Spotify beendet, hebt die Batch die symbolischen Verknüpfungen auf, kopiert die Daten aus der RAM-Disk zurück und entfernt die RAM-Disk.
Soweit funktioniert alles, hier einmal meine Batch (leider kein korrektes Syntax-Highlighting für Kommentare):
Nun mein Problem:
Wenn ich vergesse vor dem Herunterfahren Spotify zu beenden, dann wird die Ramdisk gelöscht und Spotify ist quasi Deinstalliert und ich muss es neu installieren...
Gibt es eine Möglichkeit (muss nicht Batch sein, auch VBS oder ps) dies in einer Script-Umgebung mit Windows Boardmitteln so umzuschreiben, dass:
Anmerkung: Das Script benötigt Adminrechte. Ich weiß grade nicht ob die Adminrechte für die Erstellung der RAM-Disk, den Schreibzugriff auf %appdata% bzw. %localappdata% oder den Symlink (mklink /D) erforderlich sind...
Über kleine Denkanstöße würde ich mich freuen.
MfG
Ich nutze Spotify und habe es auf einer SSD. Da es immer noch eine erhöhte Schreibleistung auf SSDs erzeugen soll, verschiebe ich die Anwendung vor dem Start in eine RAM-Disk und erstelle symbolische Verknüpfungen zwischen dem ursprünglichen Speicherort und der RAM-Disk. Wird Spotify beendet, hebt die Batch die symbolischen Verknüpfungen auf, kopiert die Daten aus der RAM-Disk zurück und entfernt die RAM-Disk.
Soweit funktioniert alles, hier einmal meine Batch (leider kein korrektes Syntax-Highlighting für Kommentare):
Code:
@echo off
::Den Helper beenden, da dieser sonst das Verschieben verhindert
taskkill /im SpotifyWebHelper.exe
::Erstellung der RAM-Disk
imdisk -a -s 4G -m S: -p "/fs:ntfs /q /y"
::Kopieren der Spotify Programmverzeichnisse auf die RAM-Disk
xcopy /E /C /Q "%appdata%\Spotify" S:\Roaming\
xcopy /E /C /Q "%localappdata%\Spotify" S:\Local\
::Loeschen der originalen Spotify-Verzeichnisse um die Symbolischen Verknuepfungen anlegen zu können
rmdir /s /q "%appdata%\Spotify"
rmdir /s /q "%localappdata%\Spotify"
::Erstellung der Symbolischen Verknuepfung
mklink /D "%appdata%\Spotify" S:\Roaming\
mklink /D "%localappdata%\Spotify" S:\Local\
::Ausfuehren von Spotify und warten, bis es beendet wird
Start /wait %appdata%\Spotify\Spotify.exe
::Wieder den Helper beenden, der ein Verschieben verhindern wuerde, wenn er laeuft
taskkill /im SpotifyWebHelper.exe
::Symbolische Verknuepfungen entfernen
rmdir "%appdata%\Spotify"
rmdir "%localappdata%\Spotify"
::Spotify Programmdaten von der RAM-Disk zurueck in das originale Verzeichnis kopieren
xcopy /E /C /Q S:\Roaming "%appdata%\Spotify\"
xcopy /E /C /Q S:\Local "%localappdata%\Spotify\"
::RAM-Disk aushaengen
imdisk -D -m S:
Wenn ich vergesse vor dem Herunterfahren Spotify zu beenden, dann wird die Ramdisk gelöscht und Spotify ist quasi Deinstalliert und ich muss es neu installieren...
Gibt es eine Möglichkeit (muss nicht Batch sein, auch VBS oder ps) dies in einer Script-Umgebung mit Windows Boardmitteln so umzuschreiben, dass:
- keine UAC Abfrage mehr kommt/nötig ist,
- kein Fenster mehr in der Taskleiste oder sonst wo erscheint, außer das von Spotify und
- beim geordneten Herunterfahren, ohne Spotify manuell zu beenden, die Installation nicht beschädigt wird?
Anmerkung: Das Script benötigt Adminrechte. Ich weiß grade nicht ob die Adminrechte für die Erstellung der RAM-Disk, den Schreibzugriff auf %appdata% bzw. %localappdata% oder den Symlink (mklink /D) erforderlich sind...
Über kleine Denkanstöße würde ich mich freuen.
MfG