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

Nur Dateien mit gleichen Dateianfang verschieben

Frage Entwicklung Batch & Shell

Mitglied: reinhr

reinhr (Level 1) - Jetzt verbinden

26.05.2008, aktualisiert 02.06.2008, 3490 Aufrufe, 2 Kommentare

Hallo Leute,

ich bekomme täglich viele verschiedene Dateien mit gleicher Struktur in einem Verzeichnis bereitgestellt.
Derzeit werden alle Dateien nach einer Prüfung ob diese > 0KB sind verschoben.
Das fünktioniert auch sehr gut. (BAT-Datei: Code anbei) (INI-Datei: Code anbei)

In meinem Verzeichnis sind z.B folgende Dateien.
01CA00046.txt
01CA00047.txt
02CA00033.txt
02CA00034.txt

Ich möchte erreichen, dass z.B nur die Dateien mit dem Dateiprefix 01CA verarbeitet werden.
Mit %%i wird immer der ganze Dateiname als Variable aufgenommen.
Wie kann ich das anstellen?

01.
--------------------------------------------------------------------------------------------------- 
02.
BAT-Datei 
03.
--------------------------------------------------------------------------------------------------- 
04.
SET ININAME=%~n0.ini 
05.
for /f "tokens=2 delims==" %%i in ('findstr "MyZIEL=" %ININAME%') do SET MyZIEL=%%i 
06.
for /f "tokens=2 delims==" %%i in ('findstr "MyQUEL=" %ININAME%') do SET MyQUEL=%%i 
07.
 
08.
 
09.
set /a ThisLoop=0 
10.
:waitForTheFilesToCreate 
11.
if %Thisloop%==10 goto givingUp 
12.
set /a Thisloop=%Thisloop% +1 
13.
for /f "delims=" %%i in ('dir %MyQUEL% /b /a-d /s') do if %%~zi gtr 0 move "%%i" %MyZIEL% 
14.
if exist "%MyQUEL%" dir /b /A:-d "%MyQUEL%">nul 2>nul || goto machweiter 
15.
goto waitForTheFilesToCreate 
16.
 
17.
:givingUp 
18.
echo Timeout am %date% %time%, da 0kB Dateien vorhanden (Siehe Stammverzeichnis) >> Error.log 
19.
for /f "delims=" %%i in ('dir %MyQUEL% /b /a-d /s') do if %%i gtr 1024 move "%%i" 
20.
goto machweiter 
21.
goto :eof 
22.
 
23.
:machWeiter 
24.
for /f "tokens=2 delims==" %%i in ('findstr "MySTAR=" %ININAME%') do %%i 
25.
----------------------------------------------------------------------------------------------------
01.
---------------------------------------------------------------------------------------------------- 
02.
INI-Datei 
03.
---------------------------------------------------------------------------------------------------- 
04.
MyQUEL=C:\TMP 
05.
MyZIEL=C:\LIVE 
06.
MySTAR=\\nvgm028.muc\....\CaPaX\Test.bat 
07.
----------------------------------------------------------------------------------------------------
Gruß
Roland
Mitglied: Biber
26.05.2008 um 01:02 Uhr
Moin Roland,
setze die Variable MyQUEL auf "C:\Tmp\01CA*.*" statt auf "C:\tmp".

Grüße
Biber
Bitte warten ..
Mitglied: reinhr
02.06.2008 um 19:37 Uhr
Einwandfrei Biber, genau das wars!!

Danke und Gruß

Roland
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Router & Routing
Routingproblem in Homerouter-Kaskade mit Raspi (20)

Frage von Oldschool zum Thema Router & Routing ...

Server
Freenas schlechte Schreib Performance bei NFS (16)

Frage von janosch12 zum Thema Server ...

C und C++
Methode multiple return values (8)

Frage von mayho33 zum Thema C und C ...