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

Variable Dateien verschieben nach Abgleich

Frage Entwicklung Batch & Shell

Mitglied: pingu256

pingu256 (Level 1) - Jetzt verbinden

19.11.2008, aktualisiert 18:37 Uhr, 3740 Aufrufe, 7 Kommentare

Hi,

hat jemand einen Tipp für mich wie ich folgendes Problem lösen kann:

In einem Verzeichnis c:\data werden nacheinander (Abstand ca. 2-5 Min.) immer zwei Dateien abgelegt die den gleich Dateinamen aber eine andere Endung haben.

Beispiel:

12345.pdf und 12345.pd$

oder

54321.pdf und 54321.pd$

Wie kann ich einen Scheduler programmieren der mir jede Minute über dieses Verzeichnis läuft und nachschaut ob ein Datenpaar vorhanden ist. Wenn beide Dateien da sind sollen diese in ein anderes Verzeichnis verschoben werden.

Der Dateiname ändert sich jedes mal nur die die Endung ist jedes mal gleich (pdf & pd$).

Gruß
Pingu256
Mitglied: Ren
19.11.2008 um 16:03 Uhr
Skizze:
01.
@echo off 
02.
set "verzeichnis=e:\pdfs" 
03.
set "ziel=e:\ziel" 
04.
:loop 
05.
FOR /F "delims=" %%i IN ('dir %verzeichnis%\*.pdf /b') DO call :handle "%%i" 
06.
ping -w 60000 1.1.1.1 -n 1 >nul 
07.
goto :loop 
08.
 
09.
:handle 
10.
set "file=%~1" 
11.
set "file2=%~n1.pd$" 
12.
if exist "%verzeichnis%\%file2%" copy "%verzeichnis%\%file2%" "%ziel%\%file2%" & copy "%verzeichnis%\%file%" "%ziel%\%file%" & goto :eof 
13.
goto :eof 
14.
 
15.
 
16.
:ende
Problem: wenn es mehr Dateien werden, werden alle immer kopiert. ;)
Zitat von pingu256:
nachschaut ob ein Datenpaar vorhanden ist. Wenn beide Dateien da sind sollen diese in ein anderes Verzeichnis verschoben werden.
Das sollte die Batch aber tun...
Bitte warten ..
Mitglied: bastla
19.11.2008 um 16:15 Uhr
@Ren
Problem: wenn es mehr Dateien werden, werden alle immer kopiert. ;)
... außer, es würde (wunschgemäß) verschoben ...

Abgesehen davon wäre anzumerken, dass ein "dir /b" (ohne "/s") keinen vollständigen Pfad, sondern nur die Dateinamen liefert - insofern wäre ein
pushd "%verzeichnis%"
vorneweg und das zugehörige
popd
am Ende der einfachere Weg.

Grüße
bastla
Bitte warten ..
Mitglied: Ren
19.11.2008 um 16:21 Uhr
Ich hatte kopiert gelesen, ich bin schon müde. Aber das sollte ja kein Ding sein, ersetzt man copy durch move, wenn man sich sicher ist, dass im Zielverzeichnis nichts kaputt gehen kann, move /y. Sonst müsste man halt vorher noch nachsehen, ob die Datei schon existiert.
01.
@echo off 
02.
set "verzeichnis=e:\pdfs" 
03.
set "ziel=e:\ziel" 
04.
:loop 
05.
FOR /F "delims=" %%i IN ('dir %verzeichnis%\*.pdf /b') DO call :handle "%%i" 
06.
ping -w 60000 1.1.1.1 -n 1 >nul 
07.
goto :loop 
08.
 
09.
:handle 
10.
set "file=%~1" 
11.
set "file2=%~n1.pd$" 
12.
if exist "%verzeichnis%\%file2%" move /y "%verzeichnis%\%file2%" "%ziel%\%file2%" & move /y "%verzeichnis%\%file%" "%ziel%\%file%" & goto :eof 
13.
goto :eof 
14.
 
15.
 
16.
:ende
Bitte warten ..
Mitglied: bastla
19.11.2008 um 16:25 Uhr
@Ren
"move" mit "/y" ist nur am Commandprompt erforderlich - in Batch wird automatisch überschrieben.

Grüße
bastla
Bitte warten ..
Mitglied: Ren
19.11.2008 um 16:42 Uhr
aha. Man lernt täglich etwas neues!
Bitte warten ..
Mitglied: pingu256
19.11.2008 um 18:37 Uhr
Geil vielen Dank!!! Läuft !!!
Bitte warten ..
Mitglied: pingu256
03.02.2009 um 11:53 Uhr
Zitat von Ren:
Ich hatte kopiert gelesen, ich bin schon müde. Aber das sollte ja
kein Ding sein, ersetzt man copy durch move, wenn man sich sicher ist,
dass im Zielverzeichnis nichts kaputt gehen kann, move /y. Sonst
müsste man halt vorher noch nachsehen, ob die Datei schon
existiert.
01.
> @echo off 
02.
> set "verzeichnis=e:\pdfs" 
03.
> set "ziel=e:\ziel" 
04.
> :loop 
05.
> FOR /F "delims=" %%i IN ('dir %verzeichnis%\*.pdf 
06.
> /b') DO call :handle "%%i" 
07.
> ping -w 60000 1.1.1.1 -n 1 >nul 
08.
> goto :loop 
09.
>  
10.
> :handle 
11.
> set "file=%~1" 
12.
> set "file2=%~n1.pd$" 
13.
> if exist "%verzeichnis%\%file2%" move /y 
14.
> "%verzeichnis%\%file2%" "%ziel%\%file2%" & 
15.
> move /y "%verzeichnis%\%file%" "%ziel%\%file%" 
16.
> & goto :eof 
17.
> goto :eof 
18.
>  
19.
>  
20.
> :ende 
21.
> 



Hi,

hat jemand ne Idee wie ich das Script am geschicktesten verändere wenn ich mehrere Verzeichnisse überwachen möchte?


Aktuell sieht der Code so aus und ich überwache Verzeichnis 1 .. hinzu sollen Verzeichnis 2 bis 7 auch überwacht werden sowie die Dateien entsprechen kopiert werden

01.
@echo off 
02.
set "verzeichnis=E:\pool\archiv\1" 
03.
set "ziel=x:\ep1\010\" 
04.
set "ziel2=e:\pool\ablage\1" 
05.
:loop 
06.
FOR /F "delims=" %%i IN ('dir %verzeichnis%\*.pdf /b') DO call :handle "%%i" 
07.
ping -w 10000 1.1.1.1 -n 1 >nul 
08.
goto :loop 
09.
 
10.
:handle 
11.
set "file=%~1" 
12.
set "file2=%~n1.pd$" 
13.
if exist "%verzeichnis%\%file2%"  
14.
	copy /y "%verzeichnis%\%file%" "%ziel%\%file%" &  
15.
	copy /y "%verzeichnis%\%file2%" "%ziel%\%file2%" &  
16.
	move /y "%verzeichnis%\%file%" "%ziel2%\%file%" &  
17.
	move /y "%verzeichnis%\%file2%" "%ziel2%\%file2%" &  
18.
	goto :eof 
19.
	goto :eof 
20.
:ende 
21.
 
Danke!!!
Gruß

pingu256
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Windows 7
gelöst Dateien verschieben Sicheheitswarnung Aktivieren (1)

Frage von Krabbelfiechle zum Thema Windows 7 ...

Batch & Shell
gelöst PS: zugehörige Import-Dateien ins Verzeichnis der Log-Dateien verschieben (4)

Frage von Jenny82 zum Thema Batch & Shell ...

Batch & Shell
Dateien verschieben über die shell mit bashscript (8)

Frage von rababar2014 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...