Top-Themen

Aktuelle Themen (A bis Z)

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 Suche eine Abfrage für eine Batch-Datei

Mitglied: Powernudel

Powernudel (Level 1) - Jetzt verbinden

06.12.2005, aktualisiert 01.04.2006, 7959 Aufrufe, 9 Kommentare

[Edit] Beitrag auf "Gelöst" gesetzt und geschlossen. Biber, 1.4.06 [/Edit]

Hallo Zusammen!

Ich suche eine Abfrage für folgenden Zweck um sie in eine Batch-Datei zu schreiben.

Ich möchte prüfen ob ein bestimmter Ordner leer ist und wenn nicht, dann dort eine bestimmte txt-datei reinkopieren.
Das läßt sich sicherlich über eine IF ... THEN Schleife realisieren. Nur wie?

Wäre dankbar für einen Tipp.

Mfg Carsten
Mitglied: meto
06.12.2005 um 12:38 Uhr
Hallo!
Hier mein Vorschlag:

dir lw:\verzeichnis /b >%temp%\dir.txt
  1. dir in eine Datei ablegen

echo ende>>%temp%\dir.txt
  1. in die Datei "ende" einfügen

echo. >>%temp%\dir.txt
  1. eine Leerzeile in die Datei einfügen

copy datei.txt lw:\verzeichnis\*.*
  1. die zu kopierende Datei ins Verzeichnis kopieren

for /f "tokens=* skip=1" %%a in (%temp%\dir.txt) do (
  1. dir.txt zeilenweise durchgehen (erste Zeile wird übersprungen)
if %%a%==ende del lw:\verzeichnis\datei.txt
  1. Überpfüfen ob "ende" in der Datei ab der zweiten Zeile vorkommt.
  2. Dies ist nur der Fall wenn das Verzeichnis nicht leer war.
  3. Wenn das Verzeihcnis nicht leeer war wird die Datei datei.txt wieder gelöscht
)
del %temp%\dir.txt
  1. temporäre Datei wieder löschen

Ist das so wie du es wolltest?

Gruß
meto
Bitte warten ..
Mitglied: Biber
06.12.2005 um 12:56 Uhr
Moin Powernudel,
hatte neulich in einem anderen Thread (den ich nicht wiedergefunden habe) folgendes gepostet:

:: ----- snipp isDirLeer.bat
@echo off & setlocal
Set "testdir=d:\temp\MyDir"
if exist %testdir% rd %testdir% /s /q
md %testdir%
echo Leeres Verzeichnis wurde %testdir% angelegt..
call :ChkIfEmpty LeeresDir

:: jetzt mal irgendeine Datei dort reinstellen
echo blah>%testdir%\blubb.txt
call :ChkIfEmpty NichtLeeresDir
if exist %testdir% rd %testdir% /s /q
goto :eof

:ChkIfempty
Echo Teste ..%1
if exist %testdir% dir /b /A:-d %testdir%>nul 2>nul || @echo %testdir% ist leer
if exist %testdir% dir /b /A:-d %testdir%>nul 2>nul && @echo %testdir% ist nicht leer
goto :eof
:: ----- snapp isDirleer.bat

Die beiden entscheidenden Zeilen einer "Ist-Verzeichnis-leer"-Prüfung sind unten die beiden "If exist"-Zeilen. Der ganze Rest war nur zur Demo.

HTH Biber
Bitte warten ..
Mitglied: Powernudel
06.12.2005 um 14:07 Uhr
Hallo Biber,

das geht prima. Danke.

Natürlich auch Danke an meto. Habe mich für die Lösung von Biber entschieden.

Gruß Carsten
Bitte warten ..
Mitglied: Ren
18.02.2006 um 19:24 Uhr
gute idee, habe ich auch schon gemacht, schlägt nur dann fehl, wenn in dem vermeindlich leerem Ordner ein Unterordner exestiert, aber keine Datei. dir /a-d lässt ja bei der Anzeige alle Ordner weg, damit bekommt man die Verzeichniseinträge . und ... weg, dummerweise aber auch alle anderen Verzeichnisse.
Bitte warten ..
Mitglied: Biber
18.02.2006 um 19:51 Uhr
Moin Ren,

hast Recht - war zu sehr um die Ecke gedacht.

Die beiden Testzeilen können verkürzt werden auf

if exist %testdir% dir /b %testdir%>nul 2>nul || echo %testdir% ist leer
if exist %testdir% dir /b %testdir%>nul 2>nul && echo %testdir% ist nicht leer

Reicht vollkommen.

Schönen Abend und Danke für den Hinweis
Biber
Bitte warten ..
Mitglied: koenig2004
31.03.2006 um 09:19 Uhr
Hi Biber,
gibts es für ein Registry-Schlüssel auch so eine if exist Abfrage?

Gruß Steffen
Bitte warten ..
Mitglied: Biber
31.03.2006 um 09:57 Uhr
Moin Steffen,
nein, Registry-Zugriffsfunktionen gibt es im native Batch-Sprachumfang nicht.

Die einfachste Variante wäre, die Reg.exe zu nutzen, die seit XP mit dabei ist (sonst im M$-ResKit war).

Dann geht analog zu oben:
01.
$cmd$reg query HKCU\Software\NotExistant 1>nul 2>nul ||@echo %errorlevel% 
02.
03.
-Bzw- 
04.
$cmd$reg query HKCU\Software\NotExistant 1>nul 2>nul ||@echo RegKey existiert nicht  
05.
 
06.
-oder, wenn es keine automatische Weiterverarbeitung gibt- 
07.
 
08.
$cmd$reg query HKCU\Software\NotExistant 1>nul 
09.
 
10.
Error:  The system was unable to find the specified registry key or value
Ginge auch über RegEdit.exe mit Auslesen und Schreiben einer *.reg-Datei... aber wozu?

Die Skript-Sprachen KiX und VBS/JS haben aber auch entsprechende eingebaute RegRead() und RegWrite()-Funktionen.

Gruß Biber
Bitte warten ..
Mitglied: koenig2004
31.03.2006 um 13:42 Uhr
jo Danke.
Bitte warten ..
Mitglied: Biber
01.04.2006 um 01:01 Uhr
jo Danke.
Gern geschehen.
Beitrag auf "Gelöst" gesetzt und geschlossen. Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch-Datei: Benutzer-Abfrage
gelöst Frage von Axel90Batch & Shell7 Kommentare

Hallo zusammen! Ich habe bei Google keine Lösung für mein Anliegen gefunden: Ich möchte in einer Batch-Datei (Login-Sequenz) eine ...

Batch & Shell
Neueste Datei mit Batch suchen
gelöst Frage von thilo-55Batch & Shell4 Kommentare

Ein herzliches Hallo an die Teilnehmer des Forums. Leider komme ich mit meinen batch/dos-Kenntnissen nicht mehr weiter. Evtl. kann ...

Batch & Shell

Batch zum suchen und verschieben von Dateien

gelöst Frage von zeroblue2005Batch & Shell5 Kommentare

Guten Tag Zusammen, ich benötige eine Batch, die folgendes kann: 1. Suche in bestimmten Dateipfad nach nach Dateien eines ...

Batch & Shell

Batch, Suche der Nummer in der Datei!

Frage von SportiiiBatch & Shell8 Kommentare

Hallo, mir wurde bereits durch jodel32 sehr geholfen es fehlt nur ein kleines Stück: Folgendes: Wenn ich eine Nummer ...

Neue Wissensbeiträge
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 1 TagBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 3 TagenHumor (lol)7 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 3 TagenExchange Server9 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 4 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
E-Mail
Deutsche e-Mail Adresse auf iPhone in Katar. Nur Probleme
Frage von vanTastE-Mail15 Kommentare

Moin, ich habe hier in Deutschland auf einem Exchange 2013 eine e-Mail Adresse (name@domain.de) für einen Kollegen in Katar ...

Windows Server
Server 2016 Autotiering Storage Space
Frage von HenereWindows Server11 Kommentare

Servus, ich habe jetzt ein StorageSpace auf einem Server 2016 in Betrieb zum Testen. 1x M2 mit 512GB (970pro) ...

RedHat, CentOS, Fedora
OTRS 5 kann keine Mails mehr abrufen
gelöst Frage von opc123RedHat, CentOS, Fedora11 Kommentare

Hallo, OTRS kann keine Mails mehr abrufen. Verschicken ja. Dadurch kommen keine Tickets mehr rein. Gibt es Anlaufpunkte was ...

Hyper-V
Hyper-V keinen Zugriff auf USB Gerät über USB Server
Frage von Barns83Hyper-V10 Kommentare

Normal bin ich ein stiller Leser und wühle mich im normal Fall durch Foren oder schau durch meine Bücher. ...