Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batchskript zum Datenbackup mit Ordnerstruktur

Frage Entwicklung Batch & Shell

Mitglied: Netscape

Netscape (Level 2) - Jetzt verbinden

30.01.2007, aktualisiert 02.02.2007, 3520 Aufrufe, 9 Kommentare

Hi,
habe noch ein Problem mit einem Skript.

Hier der Original Thread:
http://www.administrator.de/index.php?content=86549656eef6831189766eb3e ...

Biber hat mir damit schon sehr geholfen, allerdings hab ich noch Probleme damit. Das Skript will irgendwie nicht laufen.

Original:
- >for /f "delims=" %i in ('dir /a:d /s /b "D:\*old*"') do @echo "%~nxi"|find /i "old">nul && @Xcopy /y "%~i\*.*" "x:\Archiv%~pi"

von mir verändert:
- >for /f "delims=" %i in ('dir /a:d /s /b "%laufwerk%\%filter%"') do @echo "%~nxi"|find /i "%filter%">nul && @Xcopy /y "%~i\*.*" "x:\Archiv%~pi"

Ich habe noch die Variablen Laufwerk und Filter eingebaut, damit man auch andere Ordner wähln kann. Allerdings will es nicht so ganz.
Mitglied: Biber
30.01.2007 um 18:33 Uhr
Moin Netscape,

ich lege es mal als Batch an, dann wird es lesbarer (hoffe ich).

Ich fang mal mit der oberen Zeile an [am CMD-Prompt:]
01.
for /f "delims=" %i in ('dir /a:d /s /b "D:\*old*"') do @echo "%~nxi"|find /i "old">nul && @Xcopy /y "%~i\*.*" "x:\Archiv%~pi"
... wäre als (formatierter) Batch-Oneliner mit einem ECHO zum Testen:
01.
::----------DoXcopyAllWithOld.bat 
02.
@for /f "delims=" %%i in ('dir /a:d /s /b "D:\*old*"') do @( 
03.
                   echo "%%~nxi"|find /i "old">nul && @<b>ECHO</b> Xcopy /y "%%~i\*.*" "x:\Archiv%%~pi" 
04.
)
Wenn wir den noch umbauen, dass der als
- Parameter %1 Startlaufwerk/Startpfad annimmt und als
- Parameter %2 den Teilstring "old" (oder was auch immer), der im Ordnernamen enthalten sein soll
01.
::----------DoXcopyWith.bat 
02.
@for /f "delims=" %%i in ('dir /a:d /s /b "%1\*%2*"') do @( 
03.
                   echo "%%~nxi"|find /i "%2">nul && @<b>ECHO</b> Xcopy /y "%%~i\*.*" "x:\Archiv%%~pi" 
04.
)
So weit, so ungetestet.

HTH
Biber
Bitte warten ..
Mitglied: Netscape
30.01.2007 um 20:25 Uhr
Also soweit läuft das Skript, allerdings sagt er mir, dass die Dateien kopiert wurden, wenn ich aber in dem Ornder nachschaue ist nix drin.?
Bitte warten ..
Mitglied: Biber
30.01.2007 um 21:07 Uhr
Hmmm... und wenn Du das zum Testen eingefügte fett gedruckte ECHO entfernst?
Bitte warten ..
Mitglied: Netscape
30.01.2007 um 21:22 Uhr
Ok, jetzt funktionierts. Nur noch eine Kleinigkeit.

Wie muss die %%~pi Variable lauten, damit er auch den Old Ordner kopiert?

Es wird zwar alles kopiert, aber den Old Ordner verwirft er.

Soll heißen:

Ordner1--->Ordner2--->Old

inhalt wird an backupfad kopiert

Backupordner\Ordner1-->Ordner2\inhalt von Old
Bitte warten ..
Mitglied: Biber
30.01.2007 um 22:07 Uhr
Dann müsstest Du ändern:

STREICHE: ....Xcopy /y "%%~i\*.*" "x:\Archiv%%~pi"
SETZE: ....Xcopy /y "%%~dpi" "x:\Archiv%%~pi\"

[ungetestet]

HTH Biber

P.S. Wäre nicht überhaupt ein MOVE besser als ein Kopieren?
Bitte warten ..
Mitglied: Netscape
30.01.2007 um 22:19 Uhr
Kannst du mir den unterschied zwischen

"%%~i\*.*" & "%%~dpi"

erklären?

Mit Move müsste das dann so lauten oder?
Move /y "%%~dpi" "x:\Archiv%%~pi\"

Eine andere Möglichkeit wäre auch noch ein setzen des Archiv Attributs. Das wäre wesentlich genauer oder?
Bitte warten ..
Mitglied: Biber
31.01.2007 um 11:53 Uhr
Moin NetScape,

Wenn der Ordner "D:\test\bla\blubb\old27" heißt:

"%%~i\*.*" --------> würde expandieren zu vollständigem Ordner-Pfad+"\*.*" i.e "D:\test\bla\blubb\old27\*.*"


"%%~dpi" --> würde expandieren zu D=Drive + p=Pfad des Ordner-Parent-Namens i.e "D:\test\bla\blubb"

Das Move demnach würde expandieren zu:
Move /y "%%~dpi" "x:\Archiv%%~pi\" ----------->
Move /y "D:\test\bla\blubb" "x:\Archiv\test\bla\blubb"

Richtiger wäre also:
Move /y "%%~dpnxi" "x:\Archiv%%~pnxi\" ----------->
Dieses Move würde expandieren zu:
Move /y "D:\test\bla\blubb\old27" "x:\Archiv\test\bla\blubb\old27"


Gruß
Biber
Bitte warten ..
Mitglied: Netscape
01.02.2007 um 15:04 Uhr
Hi,

dies hier funktioniert leider nicht. Da kopiert er dann nichts mehr.

STREICHE: ....Xcopy /y "%%~i\*.*" "x:\Archiv%%~pi"
SETZE: ....Xcopy /y "%%~dpi" "x:\Archiv%%~pi\"

Hab auch schon probiert nur den Pfad mitzunehmen

Xcopy /y "%%~pi" "x:\Archiv%%~pi\"

aber das geht auch nicht.
Bitte warten ..
Mitglied: Netscape
02.02.2007 um 15:47 Uhr
Ok,
hab´s hinbekommen. musste nur das > nul vor dem Xcopy entfernen. Dann hat er den Old Ordner miterstellt.

Vielen Dank an Biber, der sich wie immer sehr bemüht hat und mir sehr geholfen hat.

Danke Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Verknüpfungspfad mittels Batchskript anpassen (5)

Frage von kkh5997 zum Thema Batch & Shell ...

Rechtliche Fragen
gelöst Vernatwortlichkeit Ordnerstruktur (5)

Frage von Peterz zum Thema Rechtliche Fragen ...

Windows Server
gelöst Neuer DC + Ordnerstruktur (13)

Frage von KMUlife zum Thema Windows Server ...

Batch & Shell
gelöst Ordnerstruktur aus Playlist per Batch wiederherstellen (4)

Frage von Mooswitz zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...