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, 3504 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

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

Frage von 126594 zum Thema Batch & Shell ...

Batch & Shell
gelöst Laufwerksbezeichnung (label) in Batch als Variable nutzen (21)

Frage von tobias.mock zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (3)

Frage von Zendara zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (10)

Frage von sysbone zum Thema Zusammenarbeit ...