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, 3481 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
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...