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-Key: 206948

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

Printed on: April 19, 2024 at 22:04 o'clock

Member: Friemler
Friemler May 24, 2013 updated at 08:27:05 (UTC)
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
Member: diekoenigs
diekoenigs May 24, 2013 updated at 08:32:45 (UTC)
Goto Top
Danke Dir.

Werds gleich mal testen.

face-smile

Alex

/Edit

Kommandozeile gibt schoonmal das richtige Ergebnis!
Sieht gut aus. :D
Member: diekoenigs
diekoenigs May 24, 2013 at 09:06:40 (UTC)
Goto Top
Alles super!

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

Vielen Dank nochmal!

gruß
Alex
Member: ticuta1
ticuta1 May 24, 2013 at 10:04:00 (UTC)
Goto Top
Hallo,
und wie sieht die verbesserte Lösung aus?
LG,
ticuta1
Member: diekoenigs
diekoenigs May 24, 2013 at 12:41:49 (UTC)
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. ;)
Member: diekoenigs
diekoenigs May 27, 2013 updated at 14:14:54 (UTC)
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