diekoenigs
Goto Top

XCOPY Verzeichnisname per Script austauschen

Hallo Helferlein!

Ich habe Verzeichnisse mit dem Namen IMG1234, welche ständig im Namen um 1 erhöht weden. Nun will ich immer das Verzeichnis mit dem höchsten Wert plus die 3 kleineren wegsichern.
Wie löse ich das am einfachsten?

Dachte an folgendes:

---
variable höchte -3
xcopy "x:\IMG*variable*\*.*" "y:\backup\" /h /k
---

Hoffe das ist verständlich..
Please help..

Danke und Gruß
Alex

Content-ID: 206948

Url: https://administrator.de/contentid/206948

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

Friemler
Friemler 24.05.2013 aktualisiert um 10:27:05 Uhr
Goto Top
Hallo Alex,

könnte so gehen:
@echo off & setlocal

set "BaseDir=D:\Test"  
set "DirnamePattern=IMG*"  

for /f "tokens=1* delims=:" %%a in ('dir /b /a:d /o:-n-e "%BaseDir%\%DirnamePattern%" ^| findstr /n "^"') do (  
  if %%a leq 4 (
    echo xcopy "%BaseDir%\%%b\*.*" "y:\backup\" /h /k  
  )
)

Zum "Scharfschalten" des Codes den ECHO-Befehl in Zeile 8 entfernen.

Gruß
Friemler
diekoenigs
diekoenigs 24.05.2013 aktualisiert um 10:32:45 Uhr
Goto Top
Danke Dir.

Werds gleich mal testen.

face-smile

Alex

/Edit

Kommandozeile gibt schoonmal das richtige Ergebnis!
Sieht gut aus. :D
diekoenigs
diekoenigs 24.05.2013 um 11:06:40 Uhr
Goto Top
Alles super!

Hab minimal den xcopy Befehl angepasst, aber das war ja nicht das Problem. face-smile

Vielen Dank nochmal!

gruß
Alex
ticuta1
ticuta1 24.05.2013 um 12:04:00 Uhr
Goto Top
Hallo,
und wie sieht die verbesserte Lösung aus?
LG,
ticuta1
diekoenigs
diekoenigs 24.05.2013 um 14:41:49 Uhr
Goto Top
Hi.

Lediglich die xcopy-Zeile etwas verschöhnt, damit alles in der Verzeichnisstruktur bleibt.

xcopy "%BaseDir%\%%b" "d:\test\backup\%%b\" /h /k /e

Gruß
Alex

PS: Habe grad noch ne neue Frage gestellt. Zu einem ähnlichen Thema. ;)
diekoenigs
diekoenigs 27.05.2013 aktualisiert um 16:14:54 Uhr
Goto Top
Hallo.

Habs grad zum Üben nochmal als Powershell versucht.

#kopiere alle IMG*.* geschrieben heute -3 Tage 
Get-ChildItem d:\IMG*.* | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-3)}|copy-item -destination d:\test -force

Was meint Ihr?
Gehts eleganter ?

gruß
Alex