PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Vorstellung]2 Skripts zum zurücksetzten des Data Verzeichnis



nnw
26.03.2010, 14:44
Ich verwende schon seit längerem 2 Skripts, um den Inhalt des Oblivion Data Verzeichnis auf die Standard Installation zurückzusetzen. Wer also zufälliger weise einen Perl oder Python Interpreter installiert hat, für den könnte sich dies als nützlich erweisen um eine Deinstallation / Neuinstallationsorgie zu vermeiden.

Beide Skripts löschen alle Ordner und ESMs/ESPs die nicht zu Oblivion selber (inklusive DLCs), Wyre Bash oder BOSS gehören.
Dateien die wie folgt beginnen werden ergo "verschont"

Bash
Boss
DLC
Docs
Knights
INI
LSData
Music
mod
master
Oblivion
OBSE
Shaders
Trees
Video

Anwendung:

Kopiert den jeweiligen Skripttext in eine Textdatei und speichert diese mit der Endung *.pl für Perl oder *.py für Python im Bethesda\Oblivion Ordner ab.

Warnung!
Ein Doppelklick darauf führt dann das Skript aus. Dabei werden die Dateien aller installierten Plugins gelöscht!



podc.pl


use strict;
use File::Path;
use Cwd;

my $path = getdcwd();
my $LogDat = $path."/podcLOG.txt";
my $Opath = $path."\\Data";
open Z, "> $LogDat" or die $!;
opendir Q, $Opath or die $!;
sub dcleaner
{


while (my $inhalt = readdir Q)
{
if ($inhalt =~ /^\.|^(Archiv|Bash|Boss|DLC|Docs|Knights|Ini|LSData|Music|mod|master|Oblivion|OBSE|Shaders|Trees|Video)/i)
{
printf Z $inhalt."\t\t ignoriert\n";
}
else
{
printf Z $inhalt." \t\t GELOESCHT!\n";
unlink $Opath."\\".$inhalt;
rmtree($Opath."\\".$inhalt);
}

}
printf Z "\n\n

close Z;
close Q
}

&dcleaner;


pyodc.py



import os;
import re;
import shutil

datei = open("pyodcLOG.txt", "w");

pfad = os.path.abspath(".");
pfad1 = pfad + "\Data";

if os.path.exists (pfad1 + '\\meshes'):
shutil.rmtree (pfad1 + '\\meshes');

if os.path.exists (pfad1 + '\\textures'):
shutil.rmtree (pfad1 + '\\textures');

if os.path.exists (pfad1 + '\\Sound'):
shutil.rmtree (pfad1 + '\\Sound');

if os.path.exists (pfad1 + '\\fonts'):
shutil.rmtree (pfad1 + '\\fonts');

if os.path.exists (pfad1 + '\\DistantLOD'):
shutil.rmtree (pfad1 + '\\DistantLOD');

if os.path.exists (pfad1 + '\\distantLOD'):
shutil.rmtree (pfad1 + '\\distantLOD');
for ordner in os.listdir(pfad1):
if re.search("\A(Archiv|Bash|Boss|DLC|Docs|Knights|Ini|LSData|Music|mod|master|Oblivion|OBSE|Shaders|Trees|Video)",ordner,re.I):
print >> datei, ordner + "\t\tignoriert\n";
else:
print >> datei, ordner + "\t\tgeloescht\n";

os.remove(pfad1 + "\\" + ordner);
datei.close();


Dies funktioniert unter XP und "scheinbar" auch mit Fensterchen 7 reibungslos, solange bei letzterem TES nicht im Standardpfad (C:\Programme) installiert ist.

NNW

Growlf
02.04.2010, 00:13
Löscht das auch Deine gigantischen Dungeons, so daß man wieder rausfindet? :D

Im Ernst: danke für die Scripts.

Muecke49
02.04.2010, 14:12
@ Growlf :D

@ nnw

Das ist wirklich eine praktische Geschichte. Vielen Dank dafür. :A
Sehe ich das richtig, dass der Ordner unter MyGames/Oblivion unberührt bleibt? Die Oblivion.ini müsste man also weiterhin per Hand noch löschen, sofern sie von irgendwelchen PlugIns o.ä. verändert wurde?

nnw
02.04.2010, 18:27
@Growlf Bitte schön. Und so gross sind sie ja nicht ^^

Ja, diesen haben ich absichtlich ausgelassen, denn meist will man nur ein "sauberes" Data Verzeichnis. Die Entscheidung ob du deine INI und die Speicherstände platt machst liegt weiterhin bei dir.

Btw.
Mir ist noch etwas eingefallen. Meines Wissens nach fängt keines der Addons außer KotN ohne DLC an und alle bringen ihren Content in BSA Archiven mit. Sollte dem nicht so sein, dann teilt mir dass bitte mit, damit ich die Skripts anpassen kann.

Dass Python Skript funktioniert übrigens bei allen Wyre Bash Usern, da sie den Python Interpreter installiert haben...

Growlf
04.04.2010, 23:27
Wenn Du mir jetzt noch verraten kannst, wieso trotz blitzblankem System meine neu erstellte headhuman_n.dds partout nicht erkannt wird ... und nur diese.

nnw
05.04.2010, 10:37
Archivinvalidation? Wenn die Ordner Textures und Meshes weg san, nimmt er die BSAs.

Btw. Du hast post.

Schattenläufer
06.04.2010, 14:42
Sehr gut, diese Skripte dürften die bekannten Frust-Neuinstallationen erheblich vereinfachen. ^^
Für die Pyromanen unter den Oblivion-Häuslebauern auf jeden Fall sehr empfehlenswert.

Growlf
09.04.2010, 23:55
Leider Gottes, wie schon mit nnw via ICQ besprochen, ändern alle Manipulationen an der .ini nichts an der traurigen Tatsache, daß die headhuman_n.dds nicht erkannt wird.
Das nur der Vollständigkeit halber.