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

Batch-Variable bei Shift

Frage Entwicklung Batch & Shell

Mitglied: KlausInD

KlausInD (Level 1) - Jetzt verbinden

26.08.2009, aktualisiert 19:08 Uhr, 3492 Aufrufe, 2 Kommentare

Verehrte Dossiers und Stapler!

Ich stecke fest und bitte Euch um Hilfe.
Mit dem folgenden Befehl will ich Dateikopien von allen Partitionen (evtl außer C auf eine externe Festplatte speichern.

SET Log=ZwiBack.Log
SET Param=/C /R /E /H /K /Y /Q /EXCLUDE:F:\Zwi\Excludat.txt

:Schleife
SET Lw=%1
IF "%1"=="" GOTO Ende
ECHO Jetzt: Kopieren aller Dateien von Lw %Lw%

XCOPY %Lw%:\*.* N:\ZwiBack\%Lw%\ %Param% >>%Log%

SHIFT
GOTO Schleife

:Ende

(In diesem Zusammenhang unwichtige Befehle habe ich weggelassen.)

Die Variable Lw soll bei jedem Schleifendurchlauf durch einen Laufwerksbuchstaben ersetzt werden,
als da z.B. wären: F G H I J K. Ich glaube mich zu erinnern, daß ich vor etwa 25 Jahren die Variablen-Parameter
(Laufwerksbuchstaben) in eine Text- oder Bat-Datei geschrieben habe, damit ich bei öfter einmal vorkommenden
Änderungen in der Laufwerksstruktur nicht jedes Mal in meiner Kopierdatei an vielen Stellen ändern muß. Das wäre
zu fehleranfällig. Aber wie habe ich das gemacht? Und wie ist die genaue Syntax? Und was mache ich dann
mit der Datei? Wohin kommen dann die Variablen, damit sie in meiner Kopierdatei (siehe oben) "geshiftet" werden?
Leider habe
ich keine Unterlagen mehr dazu, und meine Erinnerung ist nur vage.

Wie hätte ich damals beim Ausmisten ahnen können, daß ich im achtzigsten Jahrzehnt noch einmal Lust oder
Notwendigkeit verspüren würde, unter die Batcher zu gehen?!
Bitte keine Verweise auf MS-Anleitungen oder abstrakte Erklärungen, die kapiere ich nicht mehr. Ich bitte um praktische Hilfe,
wenn es geht, durch Vorkupfern zum Abkupfern. Danke einstweilen.

KH in D
Mitglied: 81825
26.08.2009 um 19:31 Uhr
Hi,

warum so kompliziert? Der FOR-Befehl enthält eine Aufzählung der zu sichernden Laufwerke, das SHIFT kannst du dir damit sparen.

01.
SET Log=ZwiBack.Log 
02.
SET Param=/C /R /E /H /K /Y /Q  
03.
Rem /EXCLUDE:F:\Zwi\Excludat.txt geht nicht, falsche Syntax. Hilfe mit XCOPY /? 
04.
 
05.
for %%i in (F H I J K) do XCOPY %%i:\*.* N:\ZwiBack\%%i\ %Param% >>%Log%

Wenn du unbedingt mit SHIFT arbeiten möchtest, musst du die Laufwerke als Parameter an die Batch übergeben.
Der EXCLUDE-Parameter erwartet Objekte, keine einzulesende Dateiliste.
Bitte warten ..
Mitglied: pieh-ejdsch
28.08.2009 um 02:47 Uhr
Hallo KlausInD,

Das mit der Exclude Funktioniert bei mir.
mit der Variable COPYCMD kannst Du das Verhalten von COPY XCOPY und MOVE Voreinstellen und brauchst die Variable nicht in den Befehl zu schreiben.

Diese Version wird Dir aber nur Deine ZwiBack.Log Vollknallen.
Wenns dann noch extra kopieren soll dann die XCOPY zeile ohne
>>%Log%
direkt unter die erste Xcopy-Zeile setzen also noch vor dem SHIFT

01.
@echo off 
02.
SET Log=ZwiBack.Log 
03.
:: copycmd beeinflusst das Verhalten vom xcopy Befehl ohne die Variable in der Befehlszeile nochmals anzugeben 
04.
SET COPYCMD=/C /R /E /H /K /Y /Q /EXCLUDE:F:\Zwi\Excludat.txt 
05.
:: Alles was hinter dem Name der Sprungmarke zusammenhängend geschrieben ist 
06.
:: oder mit Gänsefüsschen Umschlossen wird als EIN Parameter Übergeben. Also sind in Deinem Fall die Laufwerke. 
07.
call :Schleife F G H I J K 
08.
goto :Ende 
09.
:Schleife 
10.
IF "%1"=="" GOTO :eof 
11.
PushD %1:\ 
12.
ECHO Jetzt: Kopieren aller Dateien von Lw %1 
13.
XCOPY *.* N:\ZwiBack\%1\ >>%Log% 
14.
SHIFT 
15.
PopD 
16.
GOTO Schleife 
17.
:Ende 
18.
set COPYCMD=&:: Wenn Die Batch hier noch Weitergeht
Gruß Phil
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Batch & Shell
gelöst In Batch variable DOS-Funktion von "größer" und "kleiner" Zeichen unterdrücken (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...