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

Batchdatei zum Kopieren von Verzeichnissen bzw. Ordnern verbessern...

Frage Entwicklung Batch & Shell

Mitglied: pschsch

pschsch (Level 1) - Jetzt verbinden

19.07.2007, aktualisiert 23.07.2007, 5190 Aufrufe, 6 Kommentare

Hinzufügen von Variablen

Ich benutze folgende Batchdatei zum Kopieren von Ordnern, die ich auf CMD- (veraltet: DOS-) Ebene aufrufe:

if "%1"=="" goto fehler

for %%c in (r1pc01 r1pc02 r1pc03) do md X:\Schueler\EDVRaum1\%%c\%1
for %%c in (r1pc01 r1pc02 r1pc03) do xcopy %1 X:\Schueler\EDVRaum1\%%c\%1 /s/e/v
goto ende

:fehler
cls
echo Verzeichnisname wurde nicht eingegeben!

:ende
pause

Die Datei funktioniert nur dann, wenn sich die Batchdatei im selben Ordner wie das zu kopierende Verzeichnis befindet.

Gibt es eine Möglichkeit, von dem Speicherort der Batchdatei aus Quellordner und Zielordner separat einzugeben, so dass ich die Datei nicht immer umkopieren muss?

Kennt jemand ein Programm oder Skript, das diese Aufgabenstellung erledigt? (Bei Dateien arbeite ich mit WiNAss.exe von ALP Dillingen.)
Mitglied: bastla
19.07.2007 um 11:49 Uhr
Hallo pschsch!

Du könntest für den Ordner beim Aufruf (auch zB per Drag&Drop auf die Batchdatei) den vollen Pfad übergeben und den (letzten!) Ordnernamen mit %~n1 (anstatt %1) isolieren (ist eigentlich für Dateien gedacht, aber für MS ist in diesem Fall alles, was nach dem letzten "\" steht eine "Datei").

Grüße
bastla
Bitte warten ..
Mitglied: Biber
19.07.2007 um 13:18 Uhr
Moin pschpsch,

Du bist in besten Händen, deshalb nur OffTopic als Fussnote:
  • Dein Beitrag gehört nach "Batch & Shell" und nicht nach "Windows". Ich verschiebe ihn.
  • STREICHE: "die ich auf DOS-Ebene aufrufe"; SETZE "die ich auf CMD-Ebene aufrufe".

Unter DOS ließe sich die Syntax nur rudimentär verwenden.
Und hin und wieder haben wir noch Fragen, die sich (eher) auf eine DOS-Syntax beziehen - diese können das nicht abtippen, was oben steht.

Wenn Du hin und wieder im EDV am Pult stehst, solltest Du schon zwischen DOS-Prompt und CMD-Prompt unterscheiden...

Hoffe, der Groschen....äääh...das 10-Cent-Stück ist gefallen.

Grüße
Biber
Bitte warten ..
Mitglied: maneich
21.07.2007 um 16:24 Uhr
Hallo,

so wie ich das sehe, dürfte die Lösung für DOS- und CMD-Ebene die gleiche sein.

if "%1"=="" goto fehler
set x=Laufwerk:\Verzeichnispfad\

:: for %%c in (r1pc01 r1pc02 r1pc03) do md X:\Schueler\EDVRaum1\%%c\%1
for %%c in (r1pc01 r1pc02 r1pc03) do xcopy %x%%1 X:\Schueler\EDVRaum1\%%c /s/e/v
goto ende

Damit kann die Batch eigentlich von überall ausgeführt werden.

Mit freundlichen Grüßen maneich
Bitte warten ..
Mitglied: pschsch
23.07.2007 um 08:05 Uhr
@bastla
Habe deine überarbeitete Batchdatei ausprobiert mit "drag and drop" und hat bestens funktioniert. Vielen Dank für die wirklich tolle Hilfe!
Bitte warten ..
Mitglied: pschsch
23.07.2007 um 08:08 Uhr
@maneich
Wie muss ich jetzt "set x=Laufwerk:\Verzeichnispfad\" belegen? Kannst du's mal am Beispiel erläutern?
Bitte warten ..
Mitglied: maneich
23.07.2007 um 11:11 Uhr
Hallo,

nun ja, Du mußt hier die Adresse (Hauptverzeichnis) angeben, in der die Verzeichnisse der For-Schleife liegen.

z.B.: set x="C:\Eigene Dateien\Test\"

Mit freundlichen Grüßen maneich
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Batch & Shell
gelöst Textdateien TXT in allen Verzeichnissen suchen und zusammenfassen (19)

Frage von chgs2011 zum Thema Batch & Shell ...

Datenbanken
gelöst DB2 Daten in Windows DB2 kopieren (1)

Frage von Emheonivek zum Thema Datenbanken ...

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 ...

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

Frage von Haures zum Thema Windows Server ...

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

Frage von Floh21 zum Thema Outlook & Mail ...