Benutzer:TextsucheBot/Code/aktuell: Unterschied zwischen den Versionen

aus Memory Alpha, der freien deutschen Star-Trek-Datenbank
Spring zu: Navigation, suche
imported>Plasmarelais
(Die Seite wurde neu angelegt: „<pre><nowiki> @echo off set VERSION=1.0.2 :: Dieses Programm steht unter der CC-BY-NC-Lizenz 2.0 :: Erstelle Zeitstempel IF "%DATE:~0,1%" GTR "3" ( …“)
 
imported>Plasmarelais
K (V 1.0.3)
 
Zeile 1: Zeile 1:
 
<pre><nowiki>
 
<pre><nowiki>
 
@echo off
 
@echo off
set VERSION=1.0.2
+
set VERSION=1.0.3
 +
:: kombiniere Namensraum und Kategorie / Suchstring in Seitentitel / Abfragen ob Browser & Ende / -ref deaktiviert / header
 
:: Dieses Programm steht unter der CC-BY-NC-Lizenz 2.0
 
:: Dieses Programm steht unter der CC-BY-NC-Lizenz 2.0
  
Zeile 17: Zeile 18:
 
mode con lines=30 cols=80
 
mode con lines=30 cols=80
 
:home
 
:home
cls
+
call :header
echo.
 
echo            ╔════════════════════════════════════════════════════╗
 
echo            ║ Textsuche in der Memory Alpha mit dem TextsucheBot ║
 
echo            ╚════════════════════════════════════════════════════╝
 
echo.
 
 
echo [1] Suche in einer Kategorie
 
echo [1] Suche in einer Kategorie
 
echo [2] Suche in einer Kategorie und all ihren Unterkategorien
 
echo [2] Suche in einer Kategorie und all ihren Unterkategorien
Zeile 49: Zeile 45:
 
echo Falsche Eingabe. Bitte gib eine Zahl zwischen 1 und 9 ein.
 
echo Falsche Eingabe. Bitte gib eine Zahl zwischen 1 und 9 ein.
 
echo.
 
echo.
set /p ENDE=Drücke "Eingabe" um zum Startbildschirm zu gehen...
+
set /p ENDE=Drcke "Eingabe" um zum Startbildschirm zu gehen...
 
goto home
 
goto home
  
Zeile 55: Zeile 51:
 
:Suche_cat
 
:Suche_cat
 
:: Erfrage die zu durchsuchende Kategorie
 
:: Erfrage die zu durchsuchende Kategorie
set /p KATEGORIE="Gib eine Kategorie ein, in der gesucht werden soll. Z.B. "Bild (Person)" (ohne Anführungszeichen): "
+
call :header
echo Es wird gesucht in der Kategorie:%KATEGORIE%
+
set /p KATEGORIE="Gib eine Kategorie ein, in der gesucht werden soll. Z.B. "Bild (Person)" (ohne Anfhrungszeichen): "
 
+
set NS-ERR=0
:: Setz Namen die Zieldatei f├╝r die Suchergebnisse
+
:Suche_cat_setNS
 +
call :header
 +
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE%
 +
:: Erfrage NAMENSRAUM
 +
echo.
 +
echo Soll die Suche auf einen bestimmten Namensraum begrenzt werden? Gib einen Namensraum ein, auf den die Suche eingeschr„nkt werden soll:
 +
echo.
 +
echo [0] ALLE Namensr„ume
 +
echo.           
 +
echo [1] Artikelnamensraum          [6] Vorlage
 +
echo [2] Datei                      [7] Hilfe
 +
echo [3] Benutzer                    [8] Kategorie
 +
echo [4] Memory Alpha                [9] Portal
 +
echo [5] MediaWiki                  [10] Forum
 +
echo.
 +
if %NS-ERR%==0 goto Suche_cat_setNS_ERR1
 +
echo Falsche Eingabe. Bitte gib eine Zahl zwischen 0 und 10 ein.
 +
echo.
 +
:Suche_cat_setNS_ERR1
 +
set /p ns="Bitte Auswahl eingeben: "
 +
cls
 +
if %ns% LEQ 10 goto Suche_cat_setNS_ERR
 +
set NS-ERR=1
 +
goto Suche_cat_setNS
 +
:Suche_cat_setNS_ERR
 +
call :header
 +
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE%
 +
if %ns%==1 set NAMENSRAUM=0
 +
if %ns%==2 set NAMENSRAUM=6
 +
if %ns%==3 set NAMENSRAUM=2
 +
if %ns%==4 set NAMENSRAUM=4
 +
if %ns%==5 set NAMENSRAUM=8
 +
if %ns%==6 set NAMENSRAUM=10
 +
if %ns%==7 set NAMENSRAUM=12
 +
if %ns%==8 set NAMENSRAUM=14
 +
if %ns%==9 set NAMENSRAUM=102
 +
if %ns%==10 set NAMENSRAUM=110
 +
if %ns%==1 set NAMENSRAUMNAME=Artikelnamensraum
 +
if %ns%==2 set NAMENSRAUMNAME=Datei
 +
if %ns%==3 set NAMENSRAUMNAME=Benutzer
 +
if %ns%==4 set NAMENSRAUMNAME=Memory_Alpha
 +
if %ns%==5 set NAMENSRAUMNAME=MediaWiki
 +
if %ns%==6 set NAMENSRAUMNAME=Vorlage
 +
if %ns%==7 set NAMENSRAUMNAME=Hilfe
 +
if %ns%==8 set NAMENSRAUMNAME=Kategorie
 +
if %ns%==9 set NAMENSRAUMNAME=Portal
 +
if %ns%==10 set NAMENSRAUMNAME=Forum
 +
echo -^> Es wird gesucht im Namensraum:    %NAMENSRAUMNAME% (NS %NAMENSRAUM%)
 +
echo.
 +
:: Setz Namen die Zieldatei für die Suchergebnisse
 
set DATEINAME=%DATETIME%
 
set DATEINAME=%DATETIME%
 
+
echo.
 
:: Erfrage den Such-String
 
:: Erfrage den Such-String
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): "
+
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "
 +
call :header
 +
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE%
 +
echo -^> Es wird gesucht im Namensraum:    %NAMENSRAUMNAME% (NS %NAMENSRAUM%)
 +
echo -^> Es wird gesucht nach dem String:  %SUCHSTRING%
  
:: Starte Suche
+
if %ns%==0 goto Suche_cat_AllNS
 +
echo.
 +
:: Starte Suche in NS
 +
prg\pp.exe prg\pwb\find.py -cat:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" -ns:%NAMENSRAUM%
 +
goto Suche_cat_exec
 +
:Suche_cat_AllNS
 +
:: Starte Suche in allen NS
 
prg\pp.exe prg\pwb\find.py -cat:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
 
prg\pp.exe prg\pwb\find.py -cat:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt.
+
goto Suche_cat_exec
 +
 
 +
:Suche_cat_exec
 +
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.
 +
echo.
 +
 
 +
::Ersetze Sonderzeichen in SUCHSTRING
 +
set REPSTRING=%SUCHSTRING%
 +
call :replace
 +
set SUCHSTRING=%REPSTRING%
  
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt
+
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
 
echo Dies sind die Seiten/Dateien in der [[:Kategorie:%KATEGORIE%]], die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
 
echo Dies sind die Seiten/Dateien in der [[:Kategorie:%KATEGORIE%]], die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
  
Zeile 78: Zeile 142:
 
:Suche_catr
 
:Suche_catr
 
:: Erfrage die zu durchsuchende Kategorie
 
:: Erfrage die zu durchsuchende Kategorie
set /p KATEGORIE="Gib eine Kategorie ein, in der gesucht werden soll. Z.B. "Bild (Person)" (ohne Anführungszeichen): "
+
call :header
echo Es wird gesucht in der Kategorie:%KATEGORIE% und deren Unterkategorien
+
set /p KATEGORIE="Gib eine Kategorie ein, in der gesucht werden soll. Z.B. "Bild (Person)" (ohne Anfhrungszeichen): "
 
+
set NS-ERR=0
:: Setz Namen die Zieldatei f├╝r die Suchergebnisse
+
:Suche_catr_setNS
 +
call :header
 +
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE% und deren Unterkategorien
 +
:: Erfrage NAMENSRAUM
 +
echo.
 +
echo Soll die Suche auf einen bestimmten Namensraum begrenzt werden? Gib einen Namensraum ein, auf den die Suche eingeschr„nkt werden soll:
 +
echo.
 +
echo [0] ALLE Namensr„ume
 +
echo.           
 +
echo [1] Artikelnamensraum          [6] Vorlage
 +
echo [2] Datei                      [7] Hilfe
 +
echo [3] Benutzer                    [8] Kategorie
 +
echo [4] Memory Alpha                [9] Portal
 +
echo [5] MediaWiki                  [10] Forum
 +
echo.
 +
if %NS-ERR%==0 goto Suche_catr_setNS_ERR1
 +
echo Falsche Eingabe. Bitte gib eine Zahl zwischen 0 und 10 ein.
 +
echo.
 +
:Suche_catr_setNS_ERR1
 +
set /p ns="Bitte Auswahl eingeben: "
 +
cls
 +
if %ns% LEQ 10 goto Suche_catr_setNS_ERR
 +
set NS-ERR=1
 +
goto Suche_catr_setNS
 +
:Suche_catr_setNS_ERR
 +
call :header
 +
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE% und deren Unterkategorien
 +
if %ns%==1 set NAMENSRAUM=0
 +
if %ns%==2 set NAMENSRAUM=6
 +
if %ns%==3 set NAMENSRAUM=2
 +
if %ns%==4 set NAMENSRAUM=4
 +
if %ns%==5 set NAMENSRAUM=8
 +
if %ns%==6 set NAMENSRAUM=10
 +
if %ns%==7 set NAMENSRAUM=12
 +
if %ns%==8 set NAMENSRAUM=14
 +
if %ns%==9 set NAMENSRAUM=102
 +
if %ns%==10 set NAMENSRAUM=110
 +
if %ns%==1 set NAMENSRAUMNAME=Artikelnamensraum
 +
if %ns%==2 set NAMENSRAUMNAME=Datei
 +
if %ns%==3 set NAMENSRAUMNAME=Benutzer
 +
if %ns%==4 set NAMENSRAUMNAME=Memory_Alpha
 +
if %ns%==5 set NAMENSRAUMNAME=MediaWiki
 +
if %ns%==6 set NAMENSRAUMNAME=Vorlage
 +
if %ns%==7 set NAMENSRAUMNAME=Hilfe
 +
if %ns%==8 set NAMENSRAUMNAME=Kategorie
 +
if %ns%==9 set NAMENSRAUMNAME=Portal
 +
if %ns%==10 set NAMENSRAUMNAME=Forum
 +
echo -^> Es wird gesucht im Namensraum:    %NAMENSRAUMNAME% (NS %NAMENSRAUM%)
 +
echo.
 +
:: Setz Namen die Zieldatei für die Suchergebnisse
 
set DATEINAME=%DATETIME%
 
set DATEINAME=%DATETIME%
 
+
echo.
 
:: Erfrage den Such-String
 
:: Erfrage den Such-String
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): "
+
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "
 +
call :header
 +
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE% und deren Unterkategorien
 +
echo -^> Es wird gesucht im Namensraum:    %NAMENSRAUMNAME% (NS %NAMENSRAUM%)
 +
echo -^> Es wird gesucht nach dem String:  %SUCHSTRING%
  
:: Starte Suche
+
if %ns%==0 goto Suche_catr_AllNS
 +
echo.
 +
:: Starte Suche in NS
 +
prg\pp.exe prg\pwb\find.py -catr:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" -ns:%NAMENSRAUM%
 +
goto Suche_catr_exec
 +
:Suche_catr_AllNS
 +
:: Starte Suche in allen NS
 
prg\pp.exe prg\pwb\find.py -catr:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
 
prg\pp.exe prg\pwb\find.py -catr:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt.
+
goto Suche_catr_exec
 +
 
 +
:Suche_catr_exec
 +
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.
 +
echo.
 +
 
 +
::Ersetze Sonderzeichen in SUCHSTRING
 +
set REPSTRING=%SUCHSTRING%
 +
call prg\rep.bat
 +
set SUCHSTRING=%REPSTRING%
  
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt
+
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
echo Dies sind die Seiten/Dateien in der [[:Kategorie:%KATEGORIE%]], die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
+
echo Dies sind die Seiten/Dateien in der [[:Kategorie:%KATEGORIE%]] und deren Unterkategorien, die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
  
 
echo %DATETIME%: "%SUCHSTRING%" -catr:"%KATEGORIE%" >> TextsucheBot.log
 
echo %DATETIME%: "%SUCHSTRING%" -catr:"%KATEGORIE%" >> TextsucheBot.log
Zeile 101: Zeile 233:
 
:Suche_ns
 
:Suche_ns
 
:: Erfrage die zu durchsuchende Kategorie
 
:: Erfrage die zu durchsuchende Kategorie
 +
call :header
 
echo Gib einen Namensraum ein, der durchsucht werden soll:
 
echo Gib einen Namensraum ein, der durchsucht werden soll:
 
echo.
 
echo.
 
echo [1] Artikelnamensraum
 
echo [1] Artikelnamensraum
echo [2] Benutzer
+
echo [2] Datei
echo [3] Memory Alpha
+
echo [3] Benutzer
echo [4] MediaWiki
+
echo [4] Memory Alpha
echo [5] Vorlage
+
echo [5] MediaWiki
echo [6] Hilfe
+
echo [6] Vorlage
echo [7] Kategorie
+
echo [7] Hilfe
echo [8] Portal
+
echo [8] Kategorie
echo [9] Forum
+
echo [9] Portal
 +
echo [10] Forum
 
echo.
 
echo.
 
set /p ns="Bitte Auswahl eingeben: "
 
set /p ns="Bitte Auswahl eingeben: "
if %ns%==1 set NAMENSRAUM=!
+
if %ns%==1 set NAMENSRAUM=0
if %ns%==2 set NAMENSRAUM=User:!
+
if %ns%==2 set NAMENSRAUM=6
if %ns%==3 set NAMENSRAUM=Project:!
+
if %ns%==3 set NAMENSRAUM=2
if %ns%==4 set NAMENSRAUM=MediaWiki:!
+
if %ns%==4 set NAMENSRAUM=4
if %ns%==5 set NAMENSRAUM=Vorlage:!
+
if %ns%==5 set NAMENSRAUM=8
if %ns%==6 set NAMENSRAUM=Hilfe:!
+
if %ns%==6 set NAMENSRAUM=10
if %ns%==7 set NAMENSRAUM=Kategorie:!
+
if %ns%==7 set NAMENSRAUM=12
if %ns%==8 set NAMENSRAUM=Portal:!
+
if %ns%==8 set NAMENSRAUM=14
if %ns%==9 set NAMENSRAUM=Forum:!
+
if %ns%==9 set NAMENSRAUM=102
if %ns%==1 set NAMENSRAUMNAME=Artikelnamensraum
+
if %ns%==10 set NAMENSRAUM=110
if %ns%==2 set NAMENSRAUMNAME=Benutzer
+
if %ns%==1 set NAMENSRAUMNAME=Artikelnamensraum:!
if %ns%==3 set NAMENSRAUMNAME=Memory_Alpha
+
if %ns%==2 set NAMENSRAUMNAME=Datei:!
if %ns%==4 set NAMENSRAUMNAME=MediaWiki
+
if %ns%==3 set NAMENSRAUMNAME=Benutzer:!
if %ns%==5 set NAMENSRAUMNAME=Vorlage
+
if %ns%==4 set NAMENSRAUMNAME=Memory_Alpha:!
if %ns%==6 set NAMENSRAUMNAME=Hilfe
+
if %ns%==5 set NAMENSRAUMNAME=MediaWiki:!
if %ns%==7 set NAMENSRAUMNAME=Kategorie
+
if %ns%==6 set NAMENSRAUMNAME=Vorlage:!
if %ns%==8 set NAMENSRAUMNAME=Portal
+
if %ns%==7 set NAMENSRAUMNAME=Hilfe:!
if %ns%==9 set NAMENSRAUMNAME=Forum
+
if %ns%==8 set NAMENSRAUMNAME=Kategorie:!
 
+
if %ns%==9 set NAMENSRAUMNAME=Portal:!
 +
if %ns%==10 set NAMENSRAUMNAME=Forum:!
 +
call :header
 
echo Es wird gesucht im Namensraum: %NAMENSRAUMNAME%.
 
echo Es wird gesucht im Namensraum: %NAMENSRAUMNAME%.
  
:: Setz Namen die Zieldatei fuer die Suchergebnisse
+
:: Setze Namen die Zieldatei fuer die Suchergebnisse
 
set DATEINAME=%DATETIME%
 
set DATEINAME=%DATETIME%
  
 
:: Erfrage den Such-String
 
:: Erfrage den Such-String
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): "
+
echo.
 +
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "
  
 
:: Starte Suche
 
:: Starte Suche
prg\pp.exe prg\pwb\find.py -start:%NAMENSRAUM% -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
+
prg\pp.exe prg\pwb\find.py -start:%NAMENSRAUMNAME% -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt.
+
echo.
 +
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.
 +
 
 +
::Ersetze Sonderzeichen in SUCHSTRING
 +
set REPSTRING=%SUCHSTRING%
 +
call prg\rep.bat
 +
set SUCHSTRING=%REPSTRING%
  
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt
+
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
 
echo Dies sind die Seiten/Dateien im Namensraum %NAMENSRAUMNAME%, die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
 
echo Dies sind die Seiten/Dateien im Namensraum %NAMENSRAUMNAME%, die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
  
Zeile 154: Zeile 297:
 
:: ========== Suche Ref ==========
 
:: ========== Suche Ref ==========
 
:Suche_ref
 
:Suche_ref
 +
echo.
 +
echo Diese Funktion ist derzeit nicht verfgbar.
 +
set /p ENDE=Drcke "Eingabe" um zum Startbildschirm zurckzukehren.
 +
goto home
 +
 
:: Erfrage die Seite, auf die verlinkt wird
 
:: Erfrage die Seite, auf die verlinkt wird
set /p REF-ZIEL="Gib einen Seitentitel ein. Es werden dann alle Seiten durchsucht, die auf diese Seite verlinken. Z.B. "Spock (Spiegeluniversum)" (ohne Anführungszeichen): "
+
call :header
 +
set /p REF-ZIEL="Gib einen Seitentitel ein. Es werden dann alle Seiten durchsucht, die auf diese Seite verlinken. Z.B. "Spock (Spiegeluniversum)" (ohne Anfhrungszeichen): "
 +
cls
 +
echo.
 
echo Es werden die Seiten durchsucht, die auf %REF-ZIEL% verlinken.
 
echo Es werden die Seiten durchsucht, die auf %REF-ZIEL% verlinken.
  
Zeile 162: Zeile 313:
  
 
:: Erfrage den Such-String
 
:: Erfrage den Such-String
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): "
+
echo.
 +
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "
  
:: Starte Suche
+
:: Starte Suche ohne regex
prg\pp.exe prg\pwb\find.py -ref:"%REF-ZIEL%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
+
echo prg\pp.exe prg\pwb\find.py -ref:%REF-ZIEL% -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt.
+
prg\pp.exe -i prg\pwb\find.py -ref:%REF-ZIEL% -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
 +
echo.
 +
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.
  
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt
+
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
 
echo Dies sind die Seiten/Dateien, die auf %REF-ZIEL% verlinken und den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
 
echo Dies sind die Seiten/Dateien, die auf %REF-ZIEL% verlinken und den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
  
Zeile 178: Zeile 332:
 
:Suche_links
 
:Suche_links
 
:: Erfrage die Seite, die auf die Suchziele verlinkt
 
:: Erfrage die Seite, die auf die Suchziele verlinkt
set /p LINK-SEITE="Gib einen Seitentitel ein. Es werden dann alle Seiten durchsucht, auf die diese Seite verweist. Z.B. "Spock (Spiegeluniversum)" (ohne Anführungszeichen): "
+
call :header
 +
set /p LINK-SEITE="Gib einen Seitentitel ein. Es werden dann alle Seiten durchsucht, auf die diese Seite verweist. Z.B. "Spock (Spiegeluniversum)" (ohne Anfhrungszeichen): "
 +
echo.
 
echo Es werden die Seiten durchsucht, auf die %LINK-SEITE% verweist.
 
echo Es werden die Seiten durchsucht, auf die %LINK-SEITE% verweist.
  
Zeile 185: Zeile 341:
  
 
:: Erfrage den Such-String
 
:: Erfrage den Such-String
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anführungszeichen): "
+
echo.
 +
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "
  
 
:: Starte Suche
 
:: Starte Suche
 
prg\pp.exe prg\pwb\find.py -links:"%LINK-SEITE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
 
prg\pp.exe prg\pwb\find.py -links:"%LINK-SEITE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
echo Es wurde die temporäre Datei %DATEINAME%.txt erstellt.
+
echo.
 +
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.
 +
 
 +
::Ersetze Sonderzeichen in SUCHSTRING
 +
set REPSTRING=%SUCHSTRING%
 +
call prg\rep.bat
 +
set SUCHSTRING=%REPSTRING%
  
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
 
:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%''' > prg\pwb\findupload-title.txt
+
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
 
echo Dies sind die Seiten/Dateien, auf die %LINK-SEITE% verweist und die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
 
echo Dies sind die Seiten/Dateien, auf die %LINK-SEITE% verweist und die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt
  
Zeile 204: Zeile 367:
 
:: ========== Suchergebnisse ==========
 
:: ========== Suchergebnisse ==========
 
:Suchergebnisse
 
:Suchergebnisse
start "" "http://de.memory-alpha.org/wiki/Spezial:Pr%C3%A4fixindex/Benutzer:TextsucheBot/Suchergebnis"
+
start "" "http://de.memory-alpha.org/wiki/Special:Prefixindex/Benutzer:TextsucheBot/Suchergebnis"
 
goto home
 
goto home
  
Zeile 219: Zeile 382:
 
prg\pp.exe prg\pwb\pagefromfile.py -notitle -file:"prg\pwb\findupload.txt"
 
prg\pp.exe prg\pwb\pagefromfile.py -notitle -file:"prg\pwb\findupload.txt"
  
:: Replace.py und Add_text.py: Absätze, Links, Nummerierung
+
:: Replace.py und Add_text.py: Absätze, Links, Nummerierung
prg\pp.exe prg\pwb\replace.py -always -page:"Benutzer:TextsucheBot/Suchergebnis/%DATETIME%" -regex "#\[\[:" "\n#[[:"
+
prg\pp.exe prg\pwb\replace.py -always -page:"Benutzer:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%" -regex "#\[\[:" "\n#[[:"
  
 
:: Endausgabe mit Link
 
:: Endausgabe mit Link
echo Die geordnete Liste findet sich nun auf der Memory-Alpha-Seite "User:TextsucheBot/Suchergebnis/%DATETIME%". Um dieses Fenster zu schließen und die Seite mit den Suchergebnissen zu öffnen, drücke "Eingabe".
+
echo.
 +
echo Die geordnete Liste findet sich nun auf der Memory-Alpha-Seite "User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%".
 +
echo.
 +
set /p BROWSER=Soll diese Seite nun im Browser ge”ffnet werden? (J/N)
 +
if %BROWSER%==N goto Frage_Neustart
 +
if %BROWSER%==n goto Frage_Neustart
  
set /p ENDE=Drücke "Eingabe" um dieses Fenster zu schließen...
+
:: Ruft die neue Seite im Wiki auf
 +
start "" "http://de.memory-alpha.org/wiki/User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%"
  
:: Ruft die neue Seite im Wiki auf
+
:Frage_Neustart
start "" "http://de.memory-alpha.org/wiki/User:TextsucheBot/Suchergebnis/%DATETIME%"
+
echo.
 +
set /p ENDE=Soll eine weitere Suche gestartet werden? (J/N)
 +
if %ENDE%==J goto home
 +
if %ENDE%==j goto home
 
goto ende
 
goto ende
  
 
:: ========== Info ==========
 
:: ========== Info ==========
 
:Info
 
:Info
cls
+
call :header
 +
echo TextsucheBot V. %VERSION%
 
echo.
 
echo.
echo             ╔════════════════════════════════════════════════════╗
+
echo Dieses Programm wurde von Plasmarelais (maurl.de.vu/plasmarelais) geschrieben und nutzt das pywikipediabot-Framework sowie PortablePython 2.7.
echo            ║ Textsuche in der Memory Alpha mit dem TextsucheBot ║
 
echo            ╚════════════════════════════════════════════════════╝
 
 
echo.
 
echo.
echo TextsucheBot V. %VERSION%
+
echo Quelle fr das Icon: http://findicons.com/pack/108/pastel
 
echo.
 
echo.
echo Dieses Programm wurde von Plasmarelais (de.memory-alpha.org/wiki/User:Plasmarelais) geschrieben und nutzt das pywikipediabot-Framework sowie PortablePython 2.7.
+
set /p ENDE=Drcke "Eingabe" um zum Startbildschirm zurckzukehren.
 +
goto home
 +
 
 +
:header
 +
cls
 
echo.
 
echo.
echo Quelle für das Icon: http://findicons.com/pack/108/pastel
+
echo             ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
 +
echo            º Textsuche in der Memory Alpha mit dem TextsucheBot º
 +
echo            ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
 
echo.
 
echo.
set /p ENDE=Drücke "Eingabe" um zum Startbildschirm zurückzukehren.
+
 
goto home
+
:replace
 +
set STRING0=%REPSTRING%
 +
set STRING1=%STRING0:#=_%
 +
set STRING2=%STRING1:|=_%
 +
set STRING3=%STRING2:[=_%
 +
set STRING4=%STRING3:]=_%
 +
set STRING5=%STRING4:{=_%
 +
set STRING6=%STRING5:}=_%
 +
::set STRING7=%STRING6:^>=_%
 +
::set STRING8=%STRING7:^<=_%
 +
set REPSTRING=%STRING6%
 +
goto :eof
  
 
:: ========== ENDE ==========
 
:: ========== ENDE ==========
 
:ende
 
:ende
 
+
pause
 
</nowiki></pre>
 
</nowiki></pre>

Aktuelle Version vom 15. November 2014, 20:37 Uhr

@echo off
set VERSION=1.0.3
:: kombiniere Namensraum und Kategorie / Suchstring in Seitentitel / Abfragen ob Browser & Ende / -ref deaktiviert / header
:: Dieses Programm steht unter der CC-BY-NC-Lizenz 2.0

:: Erstelle Zeitstempel
    IF "%DATE:~0,1%" GTR "3" (
        SET DATETIME=%DATE:~9,4%-%DATE:~6,2%-%DATE:~3,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
    ) ELSE (
    :: ASSUMES SHORTDATE DDxMMxYYYY
        SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
        )
    :: CORRECT FOR HOURS BELOW 10
    IF %DATETIME:~8,2% LSS 10 SET DATETIME=%DATETIME:~0,8%0%DATETIME:~9,5%
    :: ECHO %DATETIME%
title=TextsucheBot (Version %VERSION%)
mode con lines=30 cols=80
:home
call :header
echo [1] Suche in einer Kategorie
echo [2] Suche in einer Kategorie und all ihren Unterkategorien
echo [3] Suche in einem Namensraum (ACHTUNG: ggf. zeitintensiv!)
echo [4] Suche in allen Seiten, die auf eine bestimmte Seiten zeigen
echo [5] Suche in allen Seiten, auf die eine bestimmte Seite zeigt
echo [6] Rufe alle bisherigen Suchergebnisse auf
echo [7] Stelle eine Frage zu diesem Tool
echo [8] Info
echo [9] Beenden
echo.
:: Erfrage Auswahl 
set /p asw="Bitte Auswahl eingeben: "

if %asw%==1 goto Suche_cat
if %asw%==2 goto Suche_catr
if %asw%==3 goto Suche_ns
if %asw%==4 goto Suche_ref
if %asw%==5 goto Suche_links
if %asw%==6 goto Suchergebnisse
if %asw%==7 goto Help
if %asw%==8 goto Info
if %asw%==9 goto ende
cls
echo.
echo Falsche Eingabe. Bitte gib eine Zahl zwischen 1 und 9 ein.
echo.
set /p ENDE=Drcke "Eingabe" um zum Startbildschirm zu gehen...
goto home

:: ========== Suche Kategorie ==========
:Suche_cat
:: Erfrage die zu durchsuchende Kategorie
call :header
set /p KATEGORIE="Gib eine Kategorie ein, in der gesucht werden soll. Z.B. "Bild (Person)" (ohne Anfhrungszeichen): "
set NS-ERR=0
:Suche_cat_setNS
call :header
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE%
:: Erfrage NAMENSRAUM
echo.
echo Soll die Suche auf einen bestimmten Namensraum begrenzt werden? Gib einen Namensraum ein, auf den die Suche eingeschr„nkt werden soll:
echo.
echo [0] ALLE Namensr„ume
echo.            
echo [1] Artikelnamensraum           [6] Vorlage
echo [2] Datei                       [7] Hilfe
echo [3] Benutzer                    [8] Kategorie
echo [4] Memory Alpha                [9] Portal
echo [5] MediaWiki                   [10] Forum
echo.
if %NS-ERR%==0 goto Suche_cat_setNS_ERR1
echo Falsche Eingabe. Bitte gib eine Zahl zwischen 0 und 10 ein.
echo.
:Suche_cat_setNS_ERR1
set /p ns="Bitte Auswahl eingeben: "
cls
if %ns% LEQ 10 goto Suche_cat_setNS_ERR
set NS-ERR=1
goto Suche_cat_setNS
:Suche_cat_setNS_ERR
call :header
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE%
if %ns%==1 set NAMENSRAUM=0
if %ns%==2 set NAMENSRAUM=6
if %ns%==3 set NAMENSRAUM=2
if %ns%==4 set NAMENSRAUM=4
if %ns%==5 set NAMENSRAUM=8
if %ns%==6 set NAMENSRAUM=10
if %ns%==7 set NAMENSRAUM=12
if %ns%==8 set NAMENSRAUM=14
if %ns%==9 set NAMENSRAUM=102
if %ns%==10 set NAMENSRAUM=110
if %ns%==1 set NAMENSRAUMNAME=Artikelnamensraum
if %ns%==2 set NAMENSRAUMNAME=Datei
if %ns%==3 set NAMENSRAUMNAME=Benutzer
if %ns%==4 set NAMENSRAUMNAME=Memory_Alpha
if %ns%==5 set NAMENSRAUMNAME=MediaWiki
if %ns%==6 set NAMENSRAUMNAME=Vorlage
if %ns%==7 set NAMENSRAUMNAME=Hilfe
if %ns%==8 set NAMENSRAUMNAME=Kategorie
if %ns%==9 set NAMENSRAUMNAME=Portal
if %ns%==10 set NAMENSRAUMNAME=Forum
echo -^> Es wird gesucht im Namensraum:    %NAMENSRAUMNAME% (NS %NAMENSRAUM%)
echo.
:: Setz Namen die Zieldatei für die Suchergebnisse
set DATEINAME=%DATETIME%
echo.
:: Erfrage den Such-String
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "
call :header
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE%
echo -^> Es wird gesucht im Namensraum:    %NAMENSRAUMNAME% (NS %NAMENSRAUM%)
echo -^> Es wird gesucht nach dem String:  %SUCHSTRING%

if %ns%==0 goto Suche_cat_AllNS
echo.
:: Starte Suche in NS
prg\pp.exe prg\pwb\find.py -cat:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" -ns:%NAMENSRAUM%
goto Suche_cat_exec
:Suche_cat_AllNS
:: Starte Suche in allen NS
prg\pp.exe prg\pwb\find.py -cat:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
goto Suche_cat_exec

:Suche_cat_exec
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.
echo.

::Ersetze Sonderzeichen in SUCHSTRING
set REPSTRING=%SUCHSTRING%
call :replace
set SUCHSTRING=%REPSTRING%

:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
echo Dies sind die Seiten/Dateien in der [[:Kategorie:%KATEGORIE%]], die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt

echo %DATETIME%: "%SUCHSTRING%" -cat:"%KATEGORIE%" >> TextsucheBot.log
goto processing

:: ========== Suche Unterkategorie ==========
:Suche_catr
:: Erfrage die zu durchsuchende Kategorie
call :header
set /p KATEGORIE="Gib eine Kategorie ein, in der gesucht werden soll. Z.B. "Bild (Person)" (ohne Anfhrungszeichen): "
set NS-ERR=0
:Suche_catr_setNS
call :header
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE% und deren Unterkategorien
:: Erfrage NAMENSRAUM
echo.
echo Soll die Suche auf einen bestimmten Namensraum begrenzt werden? Gib einen Namensraum ein, auf den die Suche eingeschr„nkt werden soll:
echo.
echo [0] ALLE Namensr„ume
echo.            
echo [1] Artikelnamensraum           [6] Vorlage
echo [2] Datei                       [7] Hilfe
echo [3] Benutzer                    [8] Kategorie
echo [4] Memory Alpha                [9] Portal
echo [5] MediaWiki                   [10] Forum
echo.
if %NS-ERR%==0 goto Suche_catr_setNS_ERR1
echo Falsche Eingabe. Bitte gib eine Zahl zwischen 0 und 10 ein.
echo.
:Suche_catr_setNS_ERR1
set /p ns="Bitte Auswahl eingeben: "
cls
if %ns% LEQ 10 goto Suche_catr_setNS_ERR
set NS-ERR=1
goto Suche_catr_setNS
:Suche_catr_setNS_ERR
call :header
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE% und deren Unterkategorien
if %ns%==1 set NAMENSRAUM=0
if %ns%==2 set NAMENSRAUM=6
if %ns%==3 set NAMENSRAUM=2
if %ns%==4 set NAMENSRAUM=4
if %ns%==5 set NAMENSRAUM=8
if %ns%==6 set NAMENSRAUM=10
if %ns%==7 set NAMENSRAUM=12
if %ns%==8 set NAMENSRAUM=14
if %ns%==9 set NAMENSRAUM=102
if %ns%==10 set NAMENSRAUM=110
if %ns%==1 set NAMENSRAUMNAME=Artikelnamensraum
if %ns%==2 set NAMENSRAUMNAME=Datei
if %ns%==3 set NAMENSRAUMNAME=Benutzer
if %ns%==4 set NAMENSRAUMNAME=Memory_Alpha
if %ns%==5 set NAMENSRAUMNAME=MediaWiki
if %ns%==6 set NAMENSRAUMNAME=Vorlage
if %ns%==7 set NAMENSRAUMNAME=Hilfe
if %ns%==8 set NAMENSRAUMNAME=Kategorie
if %ns%==9 set NAMENSRAUMNAME=Portal
if %ns%==10 set NAMENSRAUMNAME=Forum
echo -^> Es wird gesucht im Namensraum:    %NAMENSRAUMNAME% (NS %NAMENSRAUM%)
echo.
:: Setz Namen die Zieldatei für die Suchergebnisse
set DATEINAME=%DATETIME%
echo.
:: Erfrage den Such-String
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "
call :header
echo -^> Es wird gesucht in der Kategorie: %KATEGORIE% und deren Unterkategorien
echo -^> Es wird gesucht im Namensraum:    %NAMENSRAUMNAME% (NS %NAMENSRAUM%)
echo -^> Es wird gesucht nach dem String:  %SUCHSTRING%

if %ns%==0 goto Suche_catr_AllNS
echo.
:: Starte Suche in NS
prg\pp.exe prg\pwb\find.py -catr:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###" -ns:%NAMENSRAUM%
goto Suche_catr_exec
:Suche_catr_AllNS
:: Starte Suche in allen NS
prg\pp.exe prg\pwb\find.py -catr:"%KATEGORIE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
goto Suche_catr_exec

:Suche_catr_exec
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.
echo.

::Ersetze Sonderzeichen in SUCHSTRING
set REPSTRING=%SUCHSTRING%
call prg\rep.bat
set SUCHSTRING=%REPSTRING%

:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
echo Dies sind die Seiten/Dateien in der [[:Kategorie:%KATEGORIE%]] und deren Unterkategorien, die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt

echo %DATETIME%: "%SUCHSTRING%" -catr:"%KATEGORIE%" >> TextsucheBot.log
goto processing

:: ========== Suche Namensraum ==========
:Suche_ns
:: Erfrage die zu durchsuchende Kategorie
call :header
echo Gib einen Namensraum ein, der durchsucht werden soll:
echo.
echo [1] Artikelnamensraum
echo [2] Datei
echo [3] Benutzer
echo [4] Memory Alpha
echo [5] MediaWiki
echo [6] Vorlage
echo [7] Hilfe
echo [8] Kategorie
echo [9] Portal
echo [10] Forum
echo.
set /p ns="Bitte Auswahl eingeben: "
if %ns%==1 set NAMENSRAUM=0
if %ns%==2 set NAMENSRAUM=6
if %ns%==3 set NAMENSRAUM=2
if %ns%==4 set NAMENSRAUM=4
if %ns%==5 set NAMENSRAUM=8
if %ns%==6 set NAMENSRAUM=10
if %ns%==7 set NAMENSRAUM=12
if %ns%==8 set NAMENSRAUM=14
if %ns%==9 set NAMENSRAUM=102
if %ns%==10 set NAMENSRAUM=110
if %ns%==1 set NAMENSRAUMNAME=Artikelnamensraum:!
if %ns%==2 set NAMENSRAUMNAME=Datei:!
if %ns%==3 set NAMENSRAUMNAME=Benutzer:!
if %ns%==4 set NAMENSRAUMNAME=Memory_Alpha:!
if %ns%==5 set NAMENSRAUMNAME=MediaWiki:!
if %ns%==6 set NAMENSRAUMNAME=Vorlage:!
if %ns%==7 set NAMENSRAUMNAME=Hilfe:!
if %ns%==8 set NAMENSRAUMNAME=Kategorie:!
if %ns%==9 set NAMENSRAUMNAME=Portal:!
if %ns%==10 set NAMENSRAUMNAME=Forum:!
call :header
echo Es wird gesucht im Namensraum: %NAMENSRAUMNAME%.

:: Setze Namen die Zieldatei fuer die Suchergebnisse
set DATEINAME=%DATETIME%

:: Erfrage den Such-String
echo.
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "

:: Starte Suche
prg\pp.exe prg\pwb\find.py -start:%NAMENSRAUMNAME% -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
echo.
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.

::Ersetze Sonderzeichen in SUCHSTRING
set REPSTRING=%SUCHSTRING%
call prg\rep.bat
set SUCHSTRING=%REPSTRING%

:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
echo Dies sind die Seiten/Dateien im Namensraum %NAMENSRAUMNAME%, die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt

echo %DATETIME%: "%SUCHSTRING%" -ns:%NAMENSRAUM% >> TextsucheBot.log
goto processing

:: ========== Suche Ref ==========
:Suche_ref
echo.
echo Diese Funktion ist derzeit nicht verfgbar.
set /p ENDE=Drcke "Eingabe" um zum Startbildschirm zurckzukehren.
goto home

:: Erfrage die Seite, auf die verlinkt wird
call :header
set /p REF-ZIEL="Gib einen Seitentitel ein. Es werden dann alle Seiten durchsucht, die auf diese Seite verlinken. Z.B. "Spock (Spiegeluniversum)" (ohne Anfhrungszeichen): "
cls
echo.
echo Es werden die Seiten durchsucht, die auf %REF-ZIEL% verlinken.

:: Setz Namen die Zieldatei fuer die Suchergebnisse
set DATEINAME=%DATETIME%

:: Erfrage den Such-String
echo.
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "

:: Starte Suche ohne regex
echo prg\pp.exe prg\pwb\find.py -ref:%REF-ZIEL% -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
prg\pp.exe -i prg\pwb\find.py -ref:%REF-ZIEL% -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
echo.
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.

:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
echo Dies sind die Seiten/Dateien, die auf %REF-ZIEL% verlinken und den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt

echo %DATETIME%: "%SUCHSTRING%" -ref:"%REF-ZIEL%" >> TextsucheBot.log
goto processing

:: ========== Suche Links ==========
:Suche_links
:: Erfrage die Seite, die auf die Suchziele verlinkt
call :header
set /p LINK-SEITE="Gib einen Seitentitel ein. Es werden dann alle Seiten durchsucht, auf die diese Seite verweist. Z.B. "Spock (Spiegeluniversum)" (ohne Anfhrungszeichen): "
echo.
echo Es werden die Seiten durchsucht, auf die %LINK-SEITE% verweist.

:: Setz Namen die Zieldatei fuer die Suchergebnisse
set DATEINAME=%DATETIME%

:: Erfrage den Such-String
echo.
set /p SUCHSTRING="Gib den Text ein, nach dem gesucht werden soll. Z.B. "Name=Data" (ohne Anfhrungszeichen): "

:: Starte Suche
prg\pp.exe prg\pwb\find.py -links:"%LINK-SEITE%" -dateiname:"%DATEINAME%.txt" "%SUCHSTRING%" "###"
echo.
echo Es wurde die tempor„re Datei %DATEINAME%.txt erstellt.

::Ersetze Sonderzeichen in SUCHSTRING
set REPSTRING=%SUCHSTRING%
call prg\rep.bat
set SUCHSTRING=%REPSTRING%

:: Schreibe %ZIELSEITE% in "findupload-title.txt"
echo '''User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%''' > prg\pwb\findupload-title.txt
echo Dies sind die Seiten/Dateien, auf die %LINK-SEITE% verweist und die den String ^<code^>^<nowiki^>%SUCHSTRING%^</nowiki^>^</code^> enthalten:^<p^> > prg\pwb\findupload-head.txt

echo %DATETIME%: "%SUCHSTRING%" -links:"%LINK-SEITE%" >> TextsucheBot.log
goto processing

:: ========== Help ==========
:Help
start "" "http://plasmarelais.url.ph/ma-mail/plasmarelais.htm"
goto home
:: ========== Suchergebnisse ==========
:Suchergebnisse
start "" "http://de.memory-alpha.org/wiki/Special:Prefixindex/Benutzer:TextsucheBot/Suchergebnis"
goto home

:: ========== Processing ==========
:processing
:: Fuehre die Dateien zur Uploadvorlage zusammen
copy /b "prg\pwb\findupload-start.txt"+"prg\pwb\findupload-title.txt"+"prg\pwb\findupload-head.txt"+"prg\pwb\%DATEINAME%.txt"+"prg\pwb\findupload-ende.txt" "prg\pwb\findupload.txt"

:: Loesche temporaere Dateien
del "prg\pwb\%DATEINAME%.txt"
del "prg\pwb\findupload-head.txt"

:: Lege die Seite im Wiki an
prg\pp.exe prg\pwb\pagefromfile.py -notitle -file:"prg\pwb\findupload.txt"

:: Replace.py und Add_text.py: Absätze, Links, Nummerierung
prg\pp.exe prg\pwb\replace.py -always -page:"Benutzer:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%" -regex "#\[\[:" "\n#[[:"

:: Endausgabe mit Link
echo.
echo Die geordnete Liste findet sich nun auf der Memory-Alpha-Seite "User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%".
echo.
set /p BROWSER=Soll diese Seite nun im Browser ge”ffnet werden? (J/N) 
if %BROWSER%==N goto Frage_Neustart
if %BROWSER%==n goto Frage_Neustart

:: Ruft die neue Seite im Wiki auf
start "" "http://de.memory-alpha.org/wiki/User:TextsucheBot/Suchergebnis/%DATETIME%_%SUCHSTRING%"

:Frage_Neustart
echo.
set /p ENDE=Soll eine weitere Suche gestartet werden? (J/N) 
if %ENDE%==J goto home
if %ENDE%==j goto home
goto ende

:: ========== Info ==========
:Info
call :header
echo TextsucheBot V. %VERSION%
echo.
echo Dieses Programm wurde von Plasmarelais (maurl.de.vu/plasmarelais) geschrieben und nutzt das pywikipediabot-Framework sowie PortablePython 2.7.
echo.
echo Quelle fr das Icon: http://findicons.com/pack/108/pastel
echo.
set /p ENDE=Drcke "Eingabe" um zum Startbildschirm zurckzukehren.
goto home

:header
cls
echo.
echo             ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo             º Textsuche in der Memory Alpha mit dem TextsucheBot º
echo             ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.

:replace
set STRING0=%REPSTRING%
set STRING1=%STRING0:#=_%
set STRING2=%STRING1:|=_%
set STRING3=%STRING2:[=_%
set STRING4=%STRING3:]=_%
set STRING5=%STRING4:{=_%
set STRING6=%STRING5:}=_%
::set STRING7=%STRING6:^>=_%
::set STRING8=%STRING7:^<=_%
set REPSTRING=%STRING6%
goto :eof 

:: ========== ENDE ==========
:ende
pause