nnw
26.03.2010, 13: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
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