<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://znil.net/index.php?action=history&amp;feed=atom&amp;title=AutoIt%3AJP_ProfileCleaner</id>
	<title>AutoIt:JP ProfileCleaner - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://znil.net/index.php?action=history&amp;feed=atom&amp;title=AutoIt%3AJP_ProfileCleaner"/>
	<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=AutoIt:JP_ProfileCleaner&amp;action=history"/>
	<updated>2026-04-20T10:07:23Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in znilwiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://znil.net/index.php?title=AutoIt:JP_ProfileCleaner&amp;diff=2884&amp;oldid=prev</id>
		<title>BLinz am 24. Juni 2012 um 11:37 Uhr</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=AutoIt:JP_ProfileCleaner&amp;diff=2884&amp;oldid=prev"/>
		<updated>2012-06-24T11:37:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Kategorie:AutoIt]][[Kategorie:JumpingProfiles]][[Kategorie:Tools]]&lt;br /&gt;
gehört zu [[ZnilTools:JP_ProfileCleaner|&amp;#039;&amp;#039;&amp;#039;JP_ProfileCleaner&amp;#039;&amp;#039;&amp;#039; Offline Filterung von Registry-Schlüsseln in JPUser.dat]]&amp;lt;br&amp;gt;&lt;br /&gt;
Ein Tool für JumpingProfiles Umgebungen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****&lt;br /&gt;
#AutoIt3Wrapper_Icon=znil.ico&lt;br /&gt;
#AutoIt3Wrapper_UseUpx=n&lt;br /&gt;
#AutoIt3Wrapper_Change2CUI=y&lt;br /&gt;
#AutoIt3Wrapper_Res_Description=Novemer 2011 Bernhard Linz&lt;br /&gt;
#AutoIt3Wrapper_Res_Fileversion=1.0.2.3&lt;br /&gt;
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y&lt;br /&gt;
#AutoIt3Wrapper_Res_Language=1031&lt;br /&gt;
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****&lt;br /&gt;
#include &amp;lt;array.au3&amp;gt;&lt;br /&gt;
#Include &amp;lt;string.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dim $sFilename				; Dateiname inklusive Pfad zur JPUser.dat&lt;br /&gt;
Dim $aFadeOutLines[1]		; Hier stehen die Text aus der FadeOut.dat drin&lt;br /&gt;
Dim $hFadeOutDAT			; Zeiger auf die FadeOut.dat&lt;br /&gt;
Dim $sTempLine				; die eingelesenen Zeilen werden hier temporär gespeichert&lt;br /&gt;
Dim $bReadTheLines = False  ; Boolean - wird zum Leerzeilen überspringen genutzt&lt;br /&gt;
Dim $hSourceFile			; Zeiger auf die JPUser.dat&lt;br /&gt;
Dim $hTargetFile			; Zeiger auf die neue Verseion der JPUser.dat&lt;br /&gt;
Dim $bWriteToTarget			; Boolean - wenn False werden die eingelesenden Zeilen nicht geschrieben&lt;br /&gt;
Dim $iTimerstart			; Startzeit der Filterung&lt;br /&gt;
Dim $iTimerend				; Endzeit der Filterung&lt;br /&gt;
Dim $iLineCounter = 0		; Zeilenzählen - als Status geben wir alle 100 Zeilen einen Punkt aus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;                             10        20        30        40        50        60        70        80&lt;br /&gt;
;                 	 12345678901234567890123456789012345678901234567890123456789012345678901234567890&lt;br /&gt;
Dim $sHelp = 		&amp;#039;+------------------------------------------------------------------------------&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;| JP_ProfileCleaner.exe - Version &amp;#039; &amp;amp; FileGetVersion(@ScriptName) &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;+------------------------------------------------------------------------------&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;| 2011 von Bernhard Linz für http://znil.net - Kontakt: Bernhard@znil.net&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;+------------------------------------------------------------------------------&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;Filtert Registry-Schlüssel aus einer JPUser.dat. Als Quelle dient eine&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;JumpingProfiles FadeOut.dat im gleichen Verzeichnis wie dieses Programm.&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;gefiltert werden alle Schlüssel die unterhalb von [DEFAULT] in der FadeOut.dat&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;stehen - Umgebungen werden in dieser Version nicht berücksichtigt&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;-------------------------------------------------------------------------------&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;Aufruf:&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@ScriptName &amp;amp; &amp;#039; [Pfad][Dateinname]&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;Beispiel:&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@ScriptName &amp;amp; &amp;#039; D:\Profiles\Benutzer\JumpingProfile\JPUser.dat&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;Beispiel für eine Batchverarbeitung: (Forfiles ist in jedem Windows enthalten)&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;Forfiles /P &amp;quot;D:\PF&amp;quot; /S /M JPUser.dat /C &amp;quot;cmd /c D:\JP_ProfileCleaner.exe @path&amp;quot;&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039; &amp;quot;D:\PF&amp;quot; steht für den Pfad zu den Benutzerprofilen, Forfiles kann nicht mit&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;         umgehen (ggf. als Netzlaufwerk mounten)&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039; Das Beispiel verarbeitet alle JPUser.dat in allen Verzeichnissen&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039; unterhalb von &amp;quot;D:\PF&amp;quot;&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					@CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;+------------------------------------------------------------------------------&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;| JP_ProfileCleaner ist FREEWARE! Kopieren, weitergeben ausdrücklich erlaubt!&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;| Die jeweils aktuelleste Version und Anleitungen findet Ihr unter:&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;| http://znil.net/index.php?title=ZnilTools:JP_ProfileCleaner&amp;#039; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
					&amp;#039;+------------------------------------------------------------------------------&amp;#039; &amp;amp; @CRLF&lt;br /&gt;
&lt;br /&gt;
; Prüfen  ob ein Parameter angegeben wurde - sonst beenden&lt;br /&gt;
If $CmdLine[0] = 0 Then&lt;br /&gt;
	ConsoleWrite(_ANSI2OEM(&amp;quot;FEHLER - Keine Datei angegeben, /? für Hilfe&amp;quot; &amp;amp; @CRLF))&lt;br /&gt;
	Exit 0&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
;Prüfen ob wir die Hilfe ausgeben sollen&lt;br /&gt;
If $CmdLine[1] = &amp;quot;/?&amp;quot; Then&lt;br /&gt;
	ConsoleWrite(_ANSI2OEM($sHelp))&lt;br /&gt;
	Exit 0&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
; Holen wir uns den Dateinamen - oder was auch immer da steht&lt;br /&gt;
$sFilename = $CmdLine[1]&lt;br /&gt;
ConsoleWrite(&amp;quot;STATUS - Verarbeite Datei &amp;quot; &amp;amp; $sFilename)&lt;br /&gt;
ConsoleWrite(@CRLF &amp;amp; &amp;quot;=&amp;gt; JP_ProfileCleaner = 2011 znil.net &amp;lt;=&amp;quot; &amp;amp; @CRLF)&lt;br /&gt;
&lt;br /&gt;
; Holen wir uns die Schlüssel die ausgefiltert werden sollen&lt;br /&gt;
ConsoleWrite(&amp;quot;STATUS - Lese FadeOut.dat ein .....&amp;quot;)&lt;br /&gt;
$hFadeOutDAT = FileOpen(@ScriptDir &amp;amp; &amp;quot;\FadeOut.dat&amp;quot;,0)&lt;br /&gt;
If $hFadeOutDAT = -1 Then&lt;br /&gt;
	ConsoleWrite(_ANSI2OEM(&amp;quot;FEHLER - Konnte FadeOut.dat nicht öffnen&amp;quot;) &amp;amp; @CRLF)&lt;br /&gt;
	Exit 1&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
$aFadeOutLines[0] = 0&lt;br /&gt;
While 1&lt;br /&gt;
	$sTempLine = FileReadLine($hFadeOutDAT)&lt;br /&gt;
	If @error &amp;lt;&amp;gt; -1 Then&lt;br /&gt;
		If $sTempLine &amp;lt;&amp;gt; &amp;quot;&amp;quot; And $bReadTheLines = True Then&lt;br /&gt;
			$aFadeOutLines[0] = $aFadeOutLines[0] + 1&lt;br /&gt;
			_ArrayAdd($aFadeOutLines,$sTempLine)&lt;br /&gt;
		EndIf&lt;br /&gt;
		If StringInStr($sTempLine,&amp;quot;[DEFAULT]&amp;quot;) &amp;gt; 0 Then&lt;br /&gt;
			; Wenn DEFAULT kam lesen wir die Schlüssel ein.&lt;br /&gt;
			$bReadTheLines = True&lt;br /&gt;
		EndIf&lt;br /&gt;
	Else&lt;br /&gt;
		ExitLoop&lt;br /&gt;
	EndIf&lt;br /&gt;
WEnd&lt;br /&gt;
FileClose($hFadeOutDAT)&lt;br /&gt;
ConsoleWrite(_ANSI2OEM(&amp;quot;fertig (&amp;quot; &amp;amp; $aFadeOutLines[0] &amp;amp; &amp;quot; Einträge)&amp;quot; &amp;amp; @CRLF))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Filtern!&lt;br /&gt;
ConsoleWrite(&amp;quot;STATUS - Filtere Datei &amp;quot;)&lt;br /&gt;
$iTimerstart = TimerInit()&lt;br /&gt;
$hSourceFile = FileOpen($sFilename,0)&lt;br /&gt;
If $hSourceFile = -1 Then&lt;br /&gt;
	ConsoleWrite(_ANSI2OEM(@CRLF &amp;amp; &amp;quot;FEHLER - Konnte &amp;quot; &amp;amp; $sFilename &amp;amp; &amp;quot;nicht öffnen&amp;quot; &amp;amp; @CRLF))&lt;br /&gt;
	Exit 1&lt;br /&gt;
EndIf&lt;br /&gt;
$hTargetFile = FileOpen($sFilename &amp;amp; &amp;quot;.temp.txt&amp;quot;,2)&lt;br /&gt;
&lt;br /&gt;
$bWriteToTarget = True&lt;br /&gt;
&lt;br /&gt;
While 1&lt;br /&gt;
	$sTempLine  = FileReadLine($hSourceFile)&lt;br /&gt;
	If @error &amp;lt;&amp;gt; -1 Then               ;123456789012345678&lt;br /&gt;
		If StringLeft($sTempLine,18) = &amp;quot;HKEY_CURRENT_USER\&amp;quot; Then&lt;br /&gt;
			$bWriteToTarget = True&lt;br /&gt;
		EndIf&lt;br /&gt;
		If $bWriteToTarget = True Then&lt;br /&gt;
			For $i = 1 To $aFadeOutLines[0]&lt;br /&gt;
				If StringInStr($sTempLine,$aFadeOutLines[$i]) &amp;gt; 0 Then&lt;br /&gt;
					$bWriteToTarget = False&lt;br /&gt;
				EndIf&lt;br /&gt;
			Next&lt;br /&gt;
		EndIf&lt;br /&gt;
		If $bWriteToTarget = True Then&lt;br /&gt;
			FileWriteLine($hTargetFile,$sTempLine)&lt;br /&gt;
		EndIf&lt;br /&gt;
		$iLineCounter = $iLineCounter + 1&lt;br /&gt;
		If $iLineCounter &amp;gt; 99 Then&lt;br /&gt;
			ConsoleWrite(&amp;quot;.&amp;quot;)&lt;br /&gt;
			$iLineCounter = 0&lt;br /&gt;
		EndIf&lt;br /&gt;
	Else&lt;br /&gt;
		ExitLoop&lt;br /&gt;
	EndIf&lt;br /&gt;
WEnd&lt;br /&gt;
&lt;br /&gt;
FileClose($hSourceFile)&lt;br /&gt;
FileClose($hTargetFile)&lt;br /&gt;
&lt;br /&gt;
$iTimerend = TimerDiff($iTimerstart) / 1000&lt;br /&gt;
&lt;br /&gt;
ConsoleWrite(&amp;quot; fertig, Laufzeit &amp;quot; &amp;amp; StringRegExpReplace($iTimerend,&amp;quot;(\d*)\.(\d{2})(\d*)&amp;quot;,&amp;quot;$1,$2&amp;quot;) &amp;amp; &amp;quot; sec&amp;quot; &amp;amp; @CRLF)&lt;br /&gt;
&lt;br /&gt;
ConsoleWrite(&amp;quot;Tausche JPUser.dat aus ....&amp;quot;)&lt;br /&gt;
FileMove($sFilename, $sFilename &amp;amp; &amp;quot;.OLDFILE&amp;quot;,1)&lt;br /&gt;
FileMove($sFilename &amp;amp; &amp;quot;.temp.txt&amp;quot;,$sFilename,1)&lt;br /&gt;
ConsoleWrite(&amp;quot;fertig&amp;quot; &amp;amp; @CRLF &amp;amp; @CRLF)&lt;br /&gt;
Exit 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; ###################################################################################&lt;br /&gt;
; _ANSI2OEM löst das Problem mit dem Umlauten und anderen Sonderzeichen. Es wandelt Text so um das er korrekt in der DOS-Box dargestellt wird&lt;br /&gt;
; So können hier im Quellcode auch Umlaute verwendet werden (in den Textausgaben) und diese werden dann korrekt dargestellt&lt;br /&gt;
; Dank an Xenobiologist von AutoIt.de für diese Lösung: http://www.autoit.de/index.php?page=Thread&amp;amp;threadID=9461&amp;amp;highlight=ANSI2OEM&lt;br /&gt;
Func _ANSI2OEM($text)&lt;br /&gt;
	$text = DllCall(&amp;#039;user32.dll&amp;#039;, &amp;#039;Int&amp;#039;, &amp;#039;CharToOem&amp;#039;, &amp;#039;str&amp;#039;, $text, &amp;#039;str&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	Return $text[2]&lt;br /&gt;
EndFunc   ;==&amp;gt;_ANSI2OEM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
</feed>