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

Ausgabe von Dateien (*.CON)

Frage Entwicklung Batch & Shell

Mitglied: 43547

43547 (Level 1)

29.03.2007, aktualisiert 30.03.2007, 5563 Aufrufe, 9 Kommentare

Ich habe folgendes Problem beim suchen nach Dateiendungen...

In dieser FOR Schleife lasse ich mit alle *.CON Dateien einbinden, mein problem ist aber das nicht nur *.CON Dateien enthalten sind sonder auch z.B. *.config... Hat jemand eine Idee wie ich das eingrenze das da nur *.CON Dateien aufgelistet werden.

________________________________________________________________________________
:SETLWS

SET LW_WINDIR=C:
SET LW_WINDIR=\AACABR\


:MAIN
FOR /f "delims== tokens=1" %%i in ('DIR *.CON /B /S') do @Set /A j+=1 & @Echo LW!j!=%%i>>%LW_WINDIR%%LW_AAC_SYS%LW_C.drv

:COPY
IF EXIST "%LW_WINDIR%%LW_AAC_SYS%LW_C.drv" (
FOR /f "delims== tokens=2" %%i in (%LW_WINDIR%%LW_AAC_SYS%LW_C.drv) do (

IF EXIST %%i\*.CON COPY %%i\*.CON A:\ >NUL

)
) else (
GOTO ENDE
)

:ENDE
EXIT

________________________________________________________________________________

Da ich nach CON Dateien suchen muss und die Aktuellste CON Datei auf Diskette bringen musss....

HILFE
Mitglied: Biber
29.03.2007 um 14:02 Uhr
Moin IT-KMS-Nitschke,

Ändere das ...('DIR *.CON /B /S') .. um in ..('DIR "*.CON " /B /S').. mit einem Leerzeichen nach der Extension ".CON".

Und dieses "HILFE " ist nicht nötig, wir lassen schon keinen hängen hier.

Gruss
Biber
Bitte warten ..
Mitglied: 43547
29.03.2007 um 14:15 Uhr
Danke erstmal für die schnelle Antwort Biber...

Nur wenn ich das im CMD test kommt das selbe wie vorher:

DIR "*.CON " /B /S

es werden immernoch Dateien wie web.config angezeigt...
Bitte warten ..
Mitglied: bastla
29.03.2007 um 14:18 Uhr
Hallo IT-KMS-Nitschke!

Ersetz mal versuchsweise den ersten Teil bis inklusive "do" durch
01.
for /f "delims=" %%i in ('DIR *.CON /B /S') do if /i [%%~xi]==[.con]
Grüße
bastla
Bitte warten ..
Mitglied: 43547
29.03.2007 um 14:30 Uhr
Hallo bastla,

habe ich grad probiert... da kommt dann (Syntaxfehler)
Bitte warten ..
Mitglied: bastla
29.03.2007 um 14:42 Uhr
Hallo IT-KMS-Nitschke!

Dann also komplett (wobei anzumerken wäre, dass mir ein "setlocal enabledelayedexpansion" vorneweg fehlt und auch die Zuweisung "SET LW_WINDIR=\AACABR" vermutlich anders gedacht war):

01.
for /f "delims=" %%i in ('DIR *.CONF /B /S') do if /i [%%~xi]==[.con] @Set /A j+=1 & @Echo LW!j!=%%i>>%LW_WINDIR%%LW_AAC_SYS%LW_C.drv
Grüße
bastla
Bitte warten ..
Mitglied: 43547
29.03.2007 um 14:52 Uhr
Soooo geschaft.... Danke bastla und auch Biber....

Also abbeschlossen

jetzt muss ich nur noch alle vorhandenen *.CON Dateien vergleichen und nur die Aktuellste auf Diskette kopieren lassen.... Habt Ihr da eine Idee??



:SETLWS
SetLocal EnableDelayedExpansion
SET LW_WINDIR=E:
SET LW_AAC_SYS=\AACABR\


:MAIN
C:
CD\

rem FOR /f "delims== tokens=1" %%i in ('DIR "*.CON " /B /S') do @Set /A j+=1 & @Echo LW!j!=%%i>>%LW_WINDIR%%LW_AAC_SYS%LW_C.drv
FOR /f "delims=" %%i in ('DIR *.CON /B /S') do if /i [%%~xi]==[.con] @Set /A j+=1 & @Echo LW!j!=%%i>>%LW_WINDIR%%LW_AAC_SYS%LW_C.drv

:COPY
IF EXIST "%LW_WINDIR%%LW_AAC_SYS%LW_C.drv" (
FOR /f "delims== tokens=2" %%i in (%LW_WINDIR%%LW_AAC_SYS%LW_C.drv) do (

COPY %%i A:\ >NUL

)
) else (
GOTO ENDE
)

:ENDE
rem EXIT
Bitte warten ..
Mitglied: bastla
30.03.2007 um 14:44 Uhr
Hallo IT-KMS-Nitschke!

Je nachdem, welchen weiteren Zweck Du mit der erstellten Dateiliste noch verfolgen wolltest, müsstest du das Format / die Inhalte anpassen (siehe "echo"-Zeile in ":ProcessFile"). Derzeit ist der Inhalt nur am Zweck "Ausgabe der jüngsten Datei" orientiert.

Bei der Angabe des "SourceDir" bitte keinen abschließenden Backslash verwenden ("C:" steht also eigentlich für "C:\").

01.
@echo off & setlocal 
02.
set SourceDir=C: 
03.
set Typ=.con 
04.
set LW_WINDIR=E: 
05.
set LW_AAC_SYS=\AACABR 
06.
set "Liste=%LW_WINDIR%%LW_AAC_SYS%LW_C.drv" 
07.
for /f "delims=" %%i in ('dir "%SourceDir%\*%Typ%" /b /s') do if /i [%%~xi]==[%Typ%] call :ProcessFile "%%i" 
08.
set Newest= 
09.
for /f "tokens=1* delims= " %%i in ('type "%Liste%" ^|sort') do set "Newest=%%j" 
10.
if not defined Newest goto :KeineGefunden 
11.
echo %Newest% wird kopiert ... 
12.
copy "%Newest%" A:\ >nul 
13.
goto :eof 
14.
:ProcessFile 
15.
set FDate=%~t1 
16.
set FileDate=%FDate:~6,4%%FDate:~3,2%%FDate:~0,2%%FDate:~11,2%%FDate:~14,2% 
17.
echo %FileDate% %~f1>>"%Liste%" 
18.
goto :eof 
19.
:KeineGefunden 
20.
echo Es wurde keine passende Datei gefunden.
Grüße
bastla
Bitte warten ..
Mitglied: 43547
30.03.2007 um 15:13 Uhr
Echt klasse, danke danke danke....

MfG Nitschke
Bitte warten ..
Mitglied: bastla
30.03.2007 um 19:34 Uhr
Hallo IT-KMS-Nitschke!

Da ich die obige Version so zwischendurch hingebastelt hatte, noch ein Nachtrag, speziell für den Fall, dass tatsächlich keine Datei gefunden wurde. Auch ergänzt: Beim Start wird zunächst einmal die alte Liste gelöscht.

01.
@echo off & setlocal 
02.
set SourceDir=C: 
03.
set Typ=.con 
04.
set LW_WINDIR=E: 
05.
set LW_AAC_SYS=\AACABR 
06.
set "Liste=%LW_WINDIR%%LW_AAC_SYS%LW_C.drv" 
07.
if exist "%Liste%" del "%Liste%" 
08.
for /f "delims=" %%i in ('dir "%SourceDir%\*%Typ%" /b /s 2>nul') do if /i [%%~xi]==[%Typ%] call :ProcessFile "%%i" 
09.
if not exist "%Liste%" goto :KeineGefunden 
10.
set Newest= 
11.
for /f "tokens=1* delims= " %%i in ('type "%Liste%" ^|sort') do set "Newest=%%j" 
12.
echo %Newest% wird kopiert ... 
13.
copy "%Newest%" A:\ >nul 
14.
goto :eof 
15.
:ProcessFile 
16.
set FDate=%~t1 
17.
set FileDate=%FDate:~6,4%%FDate:~3,2%%FDate:~0,2%%FDate:~11,2%%FDate:~14,2% 
18.
echo %FileDate% %~f1>>"%Liste%" 
19.
goto :eof 
20.
:KeineGefunden 
21.
echo Es wurde keine passende Datei gefunden.
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Parsen mehrer Dateien und Ausgabe je einer Zeile (1)

Frage von grka zum Thema Batch & Shell ...

Microsoft Office
gelöst 3 Excel Dateien, gleich umkodieren? (5)

Frage von Akeipra zum Thema Microsoft Office ...

Batch & Shell
Automatisch dateien die sich in einem Ordner befinden, zippen (6)

Frage von cdm1970 zum Thema Batch & Shell ...

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 ...