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, 3488 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 ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...