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

Mit freundlichen Grüßen 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...