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

CMD Script: Immer die neueste Datei 15 minuten schritt

Frage Entwicklung Batch & Shell

Mitglied: Yogibaer85

Yogibaer85 (Level 1) - Jetzt verbinden

23.02.2015, aktualisiert 22:48 Uhr, 731 Aufrufe, 16 Kommentare

Hallo Zäme

Ich habe ein kleines Problem. Ich hoffe es kann mir jemand helfen.

Ich müsse von einem Ordner wo mehre Dateien drin sind immer die neuest Datei kopieren. Es wird im 15 Minuten Takt eine neue Datei erstellt. Ich benötige immer von der neusten Datei eine Kopie.

Wie man Dateien kopiert weis ich. Doch es müsste immer die neuste sein.

merci

Gruess Yogi

Mitglied: rubberman
LÖSUNG 23.02.2015, aktualisiert um 22:48 Uhr
Hallo Yogibaer85, willkommen im Forum und Grüße in die Schweiz.

Teste folgendes:
01.
@echo off &setlocal 
02.
pushd "C:\Pfad mit deinen Dateien" 
03.
for /f "delims=" %%i in ('dir /b /a-d /od') do set "file=%%~fi" 
04.
popd 
05.
 
06.
echo "%file%" 
07.
pause
Statt der ECHO Ausgabe sollte da natürlich dein Kopieren erfolgen.

Grüße
rubberman
Bitte warten ..
Mitglied: Yogibaer85
23.02.2015 um 22:34 Uhr
Hallo rubberman

Schöne grüsse nach Deutschland

Dein Typ ist super merci. Doch mein teil nicht wirklich. Mein teil Kopiert leider einfach alles was im Ordner ist.

Ich würde es so Kopieren:


xcopy c:\start c:\backup /y
Bitte warten ..
Mitglied: rubberman
LÖSUNG 23.02.2015, aktualisiert um 22:48 Uhr
Ein XCOPY ist denke ich nicht nötig. COPY genügt völlig.

01.
@echo off &setlocal 
02.
pushd "c:\start" 
03.
for /f "delims=" %%i in ('dir /b /a-d /od') do set "file=%%~fi" 
04.
popd 
05.
 
06.
copy /y "%file%" "c:\backup\"
Grüße
rubberman
Bitte warten ..
Mitglied: Yogibaer85
23.02.2015, aktualisiert um 22:53 Uhr
Merci viel mal es geht alles.
Jetzt hab ich doch noch eine kleine Frag. Wäre es möglich die Alte Datei zu überschreiben, auch wenn sie eine andere Name hat.

Gruess Yogi
Bitte warten ..
Mitglied: rubberman
LÖSUNG 23.02.2015, aktualisiert um 22:59 Uhr
Natürlich. Du musst lediglich den Name der Datei mit angeben. Für Zeile 6:
copy /y "%file%" "c:\backup\AlteDatei.xyz"
Grüße
rubberman
Bitte warten ..
Mitglied: Yogibaer85
23.02.2015 um 23:00 Uhr
Merci rubberman

Klappet alles super.

Gruess Yogi
Bitte warten ..
Mitglied: rubberman
LÖSUNG 23.02.2015, aktualisiert um 23:13 Uhr
Gern geschehen
Bitte warten ..
Mitglied: Yogibaer85
24.02.2015 um 21:12 Uhr
Hallo rubberman

Ich habe versucht das Skript über das Netzwerk anzuwenden. Doch das geht nicht. es wird immer de lokale Pfad angezeigt. den er nicht finden kann.

Hättest du für das auch eine Lösung?

Merci

Gruess Yogi
Bitte warten ..
Mitglied: rubberman
LÖSUNG 24.02.2015, aktualisiert 25.02.2015
Hallo Yogi,

meinst du damit, dass das Script remote (auf einem anderen Rechner) ausgeführt werden soll?
Dazu wirst du wohl PsExec benötigen. Mehr Hilfe kann ich aber kaum anbieten, da ich mich mit der Arbeit auf Netzwerken nicht auskenne.

Grüße
rubberman
Bitte warten ..
Mitglied: Yogibaer85
25.02.2015 um 08:35 Uhr
Guten Morgen rubberman

Das Batch File wird auf einem Server ausgeführ. Holt eine Datei auf einem Pc. Doch dann bekomme ich diesen Fehler

"Z:\AklDbBackup4Pls\ALE_AKL_09_01_Backup_25_Februar_2015_8.30h.bak"
Das System kann das angegebene Laufwerk nicht finden.
Drücken Sie eine beliebige Taste . . .

Auch wenn ich den Netzwerk Pfad angegeben habe.

Gruess Yogi
Bitte warten ..
Mitglied: rubberman
LÖSUNG 25.02.2015, aktualisiert um 12:52 Uhr
Hallo Yogi,

ich kann mir vorstellen, was passiert. Wenn du beim PUSHD einen Netzwerkpfad (\\sever\share\...) angibst, dann wird temporär ein Netzlaufwek verbunden und mit POPD wieder getrennt. Verschiebe also mal das POPD nach den Kopiervorgang (aus Zeile 4 an das Scriptende), dann vermute ich, dass es läuft.

Grüße
rubberman
Bitte warten ..
Mitglied: Yogibaer85
25.02.2015 um 12:53 Uhr
merci jetzt geht das auch.

Gruess Yogi
Bitte warten ..
Mitglied: Yogibaer85
27.02.2015 um 10:18 Uhr
Guten Tag Rubberman

Ist es Möglich diese 2 Skripts in eine datei zu Packen.

1 Datei:

if exist c:\start\ (


start backup.bat

goto ENDE

)

:Ende


2 Datei:

@echo off &setlocal

pushd "c:\start\*.*"

for /f "delims=" %%i in ('dir /b /a-d /od') do set "file=%%~fi"

echo "%file%"

del "c:\Backup\*.*" /q

copy /y "%file%" "c:\Backup\"

popd


Merci

Gruess Fabian
Bitte warten ..
Mitglied: rubberman
LÖSUNG 27.02.2015, aktualisiert 28.02.2015
Hey Fabian.

Also vorab - das ist kein Problem. Aber bevor ich dort einsteige, noch ein paar Tipps:
  • PUSHD wechselt das Arbeitsverzeichnis. Dort an den Pfad die Wildcard-Kombination *.* anzuhängen, ist kontraproduktiv.
  • Wenn ein Batchcode am Ende angelangt ist, wird auch der Prozess beendet. Ein Label :Ende ist völlig unnötig. Wenn du den Prozess vorzeitig verlassen willst, kannst du entweder mit exit /b arbeiten, oder du nutzt den Sprung zum virtuellen end of file Label mit goto :eof (wobei das Label selbst nicht im Code steht).
  • Wenn du einen Sourcecode im Forum postest, nutze bitte <code>...</code> Tags, damit es lesbar bleibt und @ Zeichen und die Zeileneinrückung erhalten bleiben. Merci

OK, zurück zum Thema. Das if-Statement kennt auch das Schlüsselwort not. Worauf ich hinaus will: Wenn das Startverzeichnis nicht existiert, dann beende den Batchprozess. Anderenfalls führe deine Kopieraktion aus.
Auf dein Beispiel bezogen, so:
01.
@echo off &setlocal 
02.
 
03.
set "src=c:\start\" 
04.
set "dest=c:\Backup\" 
05.
 
06.
if not exist "%src%" exit /b 
07.
 
08.
pushd "%src%" 
09.
for /f "delims=" %%i in ('dir /b /a-d /od') do set "file=%%~fi" 
10.
echo "%file%" 
11.
del "%dest%*.*" /q 
12.
copy /y "%file%" "%dest%" 
13.
popd
Grüße
Steffen
Bitte warten ..
Mitglied: Yogibaer85
28.02.2015 um 19:56 Uhr
Hallo Steffen

Sorry..

aber merci viel mol.

Gruess Fabian
Bitte warten ..
Mitglied: rubberman
LÖSUNG 28.02.2015, aktualisiert 02.03.2015
Hallo Fabian

Sorry für was? Alles OK

Was mir gerade noch eingefallen ist - du nutzt das Script ja eigentlich mit einem Netzwerkpfad.
Da funktioniert ein if (not) exist nicht zuverlässig bei der Detektion von Verzeichnissen.
Für Zeile 6:
for %%i in ("%src%") do if "%%~ai" lss "d" exit /b
Grüße
Steffen
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Script zum XML Datei Umschreiben (12)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
Bash Script soll neue Datei erzeugen (2)

Frage von SpeakerST zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch nur neueste Datei mit bestimmten Dateianfang kopieren (3)

Frage von Peter32 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...