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

Nicht überschreiben sondern umbenennen

Frage Entwicklung Batch & Shell

Mitglied: ChrisM73

ChrisM73 (Level 1) - Jetzt verbinden

16.09.2008, aktualisiert 15:26 Uhr, 5176 Aufrufe, 9 Kommentare

Hallo ich sollte ein Skript erstellen unter Windows 2003 Server,
eine Datei soll mit move auf einen anderen Server (Netzlaufwerk)
verschoben werden. Wenn dort jedoch die Datei (Dateiname.000) vorhanden ist,
sollte diese nicht überschrieben werden sondern in Dateiname.001 umbenannt werden.
Wer kann mir helfen das Skript zu erstellen?
Mitglied: CondCPP
16.09.2008 um 10:01 Uhr
Das prüfen ist mit "if exist" möglich:

01.
if exist Dateiname.000 ( rename Dateiname.000 Dateiname.001)
Bitte warten ..
Mitglied: ChrisM73
16.09.2008 um 10:08 Uhr
dazu müsste ich also:
1. zuerst in das verzeichnis wechseln,
2. dann prüfen,
3. zurück ins verzeichnis wo die zu kopierende Datei liegt und
4. dann den Move auführen?
Bitte warten ..
Mitglied: CondCPP
16.09.2008 um 10:25 Uhr
nicht zwingend, ich würde den Pfad in einer Variablen speichern und dann die Datei inklusive Pfad prüfen...
also:

01.
set Pfad=c:\usw\ 
02.
if exist %Pfad%Dateiname.000 (rename Dateiname.000 Dateiname.001)
Bitte warten ..
Mitglied: ChrisM73
16.09.2008 um 10:49 Uhr
geht das auch mit ner Freigabe?
also:
set Pfad= \\Server\freigabe
Bitte warten ..
Mitglied: ChrisM73
16.09.2008 um 11:05 Uhr
hm also das hat jez funktioniert, allerdings wurde jetzt die datei umbennannt die kopiert werden soll.
es wäre besser wenn die datei in dem Verzeichnis umbenannt wird in das kopiert werden soll.

mein Skript sieht bis jez so aus:

set Pfad=\\Freigabe\
if exist %Pfad%Dateiname.000 (rename Dateiname.000 Dateiname.001)
move lokales verzeichnis\Dateiname.000 \\Freigabe
Bitte warten ..
Mitglied: CondCPP
16.09.2008 um 11:30 Uhr
es müsste gehen mit
01.
if exist %Pfad%Dateiname.000 (rename %Pfad%Dateiname.000 %Pfad%Dateiname.001)

das ganze also


01.
set Lokal=lokales verzeichnis\ 
02.
set Pfad=\\Freigabe\ 
03.
if exist %Pfad%Dateiname.000 (rename %Pfad%Dateiname.000 %Pfad%Dateiname.001) 
04.
move %Lokal%Dateiname.000 %Pfad% 
05.
 
Bitte warten ..
Mitglied: ChrisM73
16.09.2008 um 12:29 Uhr
hm ich habs angepasst, aber der kopierts nur rüber und benennt die andere Datei nicht um.
wo könnte der Fehler liegen? Ich habs dreimal verglichen, und kann keinen Fehler entdecken...
Bitte warten ..
Mitglied: bastla
16.09.2008 um 12:53 Uhr
Hallo ChrisM73!

Wenn es also offensichtlich nur darum geht, eine bereits bestehende Version der Datei "Dateiname.000" als Sicherung mit dem Namen "Dateiname.001" zu behalten, könnte das so aussehen:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Quellverzeichnis" 
03.
set "Ziel=\\Server\Freigabe\Verzeichnis" 
04.
set "Datei=Dateiname" 
05.
 
06.
if exist "%Ziel%\%Datei%.000" move "%Ziel%\%Datei%.000" "%Ziel%\%Datei%.001" 
07.
move "%Quelle%\%Datei%.000" "%Ziel%\"
Das "move" in der Zeile 6 erledigt das Umbenennen und Löschen einer ev schon vorhandenen "Dateiname.001" in einem "Arbeitsgang".

Grüße
bastla
Bitte warten ..
Mitglied: ChrisM73
16.09.2008 um 15:26 Uhr
hey super, so hat es geklappt, vielen Dank
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(3)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (11)

Frage von keine-ahnung zum Thema Exchange Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...