Hallo!
Da ich in meiner DokuWiki-Installation nur die englischen Sprachdateien benötige, haben mich die zig weiteren "lang/LC"-Ordner schon immer ein wenig gestört. Ich habe mich nun endlich mal hingesetzt und eine kleine Batchdatei geschrieben, die diese (für mich) überflüssigen Ordner entfernt. Das dürfte gerade für Leute mit gehostetem Webspace interessant sein, da so der anschließende Upload per FTP deutlich schneller vonstatten geht.
Den nachfolgenden Quellcode einfach mit dem Editor (a.k.a. Notepad) als
dw_single_lang.cmd[/m] abspeichern und im "DOS-Fenster" (korrekt "Eingabeaufforderung") mit den Optionen DokuWiki-Wurzelverzeichnis und Sprach-Code starten. Beispielsweise entfernt [m]c:\skripte\dw_single_lang d:\Apache\htdocs en[/m] alle "lang"-Ordner unterhalb von [m]d:\Apache\htdocs außer die zur englischen Sprache gehörenden. Das gilt auch für Plugins und Templates.
Die Batchdatei wurde von mir nur auf einem deutschen Windows XP Professional SP3 getestet, sollte aber eigentlich ab Windows 2000 in beliebiger Sprache funktionieren. (
Ein aktuelles Backup habt ihr ja sicherlich.:-p)
@echo off
if "%1" == "" goto usage
if "%2" == "" goto usage
setlocal
setlocal enabledelayedexpansion
if not exist "%1\doku.php" goto nodw
set /a __overall = 0
for /f "tokens=*" %%I in ('dir /ad /s /b "%1\lang"') do (
pushd %%I
set /a __count = 0
for /f "tokens=*" %%J in ('dir /ad /b') do (
if not "%%J" == "%2" (
if "%3" == "verbose" echo removing "%%I\%%J"
rd /s /q "%%I\%%J"
set /a __count += 1
)
)
echo !__count! language subfolder^(s^) removed
echo from "%%I"
popd
set /a __overall += __count
)
echo.
echo !__overall! overall language subfolder(s) removed from "%1"
goto done
:nodw
echo error: invalid DokuWiki root (doku.php missing)
goto done
:usage
echo usage: %0 ^<DokuWiki root^> ^<LC^> [verbose]
echo ex.: %0 htdocs en
echo.
:done