Batch - zum kopieren einer Datei in den letzten Unterordner
Bezug auf - https://www.administrator.de/index.php?content=32961
Hallo zusammen,
in 2006 ist mal eine schöne bat geschrieben worden (Txt datei in verschiedene Ordner kopieren
), die auf die jeweiligen "direkten" Ordner verweist.
@echo off & setlocal
Set "inputdir=C:\index"
Set "Userroot=C:\Joomla"
:Rem Löschen, falls vorhanden; danach kopieren
for %%i in (%inputdir%\ /E index.html) do @for /f %%a in ('dir /b /A /E:D %userroot%') do (if exist %userroot%\%%~nxa\%%~nxi copy %inputDir%\%%~nxi %userroot%\%%~nxa\%%~nxi)
cls
Jetzt habe ich das Problem, daß in meiner Seite (Joomla), von einem Hacker (theHacker own3d.), alle index Dateien überschrieben wurden.
Gesamt sind das 1091 dateien die ich neu (über)schreiben müßte. Wer will das schon.
Das geht aber bis in bis zu 6-7 Ebenen.
Daher die Frage, wie ich die obige *.bat verändere, das auch im letzten Unterordner die Index. html wieder mit der richtigen überschrieben werden kann.
Im Voraus für die Hilfe vielen Dank!!!
Limbo
Hallo zusammen,
in 2006 ist mal eine schöne bat geschrieben worden (Txt datei in verschiedene Ordner kopieren
), die auf die jeweiligen "direkten" Ordner verweist.
@echo off & setlocal
Set "inputdir=C:\index"
Set "Userroot=C:\Joomla"
:Rem Löschen, falls vorhanden; danach kopieren
for %%i in (%inputdir%\ /E index.html) do @for /f %%a in ('dir /b /A /E:D %userroot%') do (if exist %userroot%\%%~nxa\%%~nxi copy %inputDir%\%%~nxi %userroot%\%%~nxa\%%~nxi)
cls
Jetzt habe ich das Problem, daß in meiner Seite (Joomla), von einem Hacker (theHacker own3d.), alle index Dateien überschrieben wurden.
Gesamt sind das 1091 dateien die ich neu (über)schreiben müßte. Wer will das schon.
Das geht aber bis in bis zu 6-7 Ebenen.
Daher die Frage, wie ich die obige *.bat verändere, das auch im letzten Unterordner die Index. html wieder mit der richtigen überschrieben werden kann.
Im Voraus für die Hilfe vielen Dank!!!
Limbo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136658
Url: https://administrator.de/forum/batch-zum-kopieren-einer-datei-in-den-letzten-unterordner-136658.html
Ausgedruckt am: 22.04.2025 um 22:04 Uhr
4 Kommentare
Neuester Kommentar
Moin LimboDance,
willkommen im Forum.
das geht nach neueren Erkenntnissen kürzer und elegante mit einer halbzeile vom CMD-Prompt aus.
Und zwar mir der "Replace.exe" -Datei.
Die ist genau gegen deinen Skript-Kiddie-Befall geschrieben worden.
Grüße
Biber
willkommen im Forum.
das geht nach neueren Erkenntnissen kürzer und elegante mit einer halbzeile vom CMD-Prompt aus.
Und zwar mir der "Replace.exe" -Datei.
>replace /?
Ersetzt Dateien.
REPLACE [Laufwerk1:][Pfad1]Datname [Laufwerk2:][Pfad2] [/A] [/P] [/R] [/W]
REPLACE [Laufwerk1:][Pfad1]Datname [Laufwerk2:][Pfad2] [/P] [/R] [/S] [/W][/U]
[Laufwerk1:][Pfad1]Datname Die Quelldatei(en)
[Laufwerk2:][Pfad2] Das Verzeichnis, in dem Dateien ersetzt
werden sollen.
/A Fügt neue Dateien dem Zielverzeichnis hinzu. Kann nicht mit den
Optionen /S oder /U verwendet werden.
/P Fordert vor dem Ersetzen oder Hinzufügen einer Datei zur
Bestätigung auf.
/R Ersetzt sowohl schreibgeschützte als auch ungeschützte Dateien.
/S Ersetzt auch Dateien in Unterverzeichnissen des
Zielverzeichnisses. Kann nicht zusammen mit der Option /A
verwendet werden.
/W Wartet am Beginn auf das Einlegen einer Diskette.
/U Ersetzt (aktualisiert) nur Dateien, die älter als die Quelldateien
sind. Kann nicht zusammen mit der Option /A verwendet werden.
Die ist genau gegen deinen Skript-Kiddie-Befall geschrieben worden.
Grüße
Biber
Hallo Limbodance und auch von mir ein Willkommen!
Falls Du nicht in jeden Ordner die selbe "index.html" kopieren, sondern diese aus der "Parallelstruktur" unterhalb von "C:\index" übernehmen willst, dann etwa so:
Grüße
bastla
Falls Du nicht in jeden Ordner die selbe "index.html" kopieren, sondern diese aus der "Parallelstruktur" unterhalb von "C:\index" übernehmen willst, dann etwa so:
@echo off & setlocal
set "inputdir=C:\index"
set "Userroot=C:\Joomla"
for /f "delims=" %%i in ('dir /s /b "%Userroot%\index.html"') do set "Ziel=%%i" & call :Kopieren
goto :eof
:Kopieren
call set "Quelle=%inputdir%%%Ziel:%Userroot%=%%"
copy "%Quelle%" "%Ziel%" >nul 2>&1 || echo Nicht ersetzt: %Ziel%
goto :eof
bastla