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

Batch - Dateien mit bestimmter Größe ermitteln

Frage Entwicklung Batch & Shell

Mitglied: Steve85

Steve85 (Level 1) - Jetzt verbinden

04.11.2005, aktualisiert 11.12.2009, 9817 Aufrufe, 15 Kommentare

Hi leutz.

Ich habe folgendes Problem.
Ich möchte aus einem Ordner alle Dateien kopieren, die 113 Bytes groß sind. Die Restlichen Dateien in diesem Ordner sind 97 Bytes groß und diese sollen gelöscht werden.

Habe folgendes versucht, aber dann kopiert er mir alle Dateien.

@ECHO OFF

ECHO.

IF c:\Test\STEUER*.* GTR 97 COPY c:\Test\STEUER*.* c:\Test\Aus\STEUER*.*

ECHO.

PAUSE


Danke für eure Hilfe.
Mitglied: zingo
10.11.2005 um 09:35 Uhr
Hy,

versuch doch mal das Verzeichnis mit einer for - Schleife auszulesen und nach z.b. '113 kb'
oder '97 Bytes ' suchen, danach mit 'ner if then elseif Schleife abfangen !

Ist ja nur mal so ein Vorschlag

Gruß ZINGO
Bitte warten ..
Mitglied: Biber
10.11.2005 um 10:11 Uhr
@zingo Habe nur Handwerkliches hinzuzufügen

Moin Steve85,
machen würde das z. B. folgender Oneliner...
----snipp Copy113Del97.bat
@for /F %%i in ('dir /A:<dummy>-D /b c:\test\steuer*.*') do @if %%~zi==113 (copy %%i c:\test\Aus) else (@IF %%~zi==97 del %%i)
----snapp Copy113Del97.bat

... aber sinnvoll ist es IMHO nur begrenzt. Die 113-Byte -Steuer*.*-Dateien werden zwar irgendwo hinkopiert, aber das auch jeden Durchgang aufs Neue. Die werden ja nicht verschoben.
Ich würde eher die "113er" kopieren und dann alle Steuer*.*-Dateien löschen.

Aber egal, der Oneliner works as designed.
HTH Biber
Bitte warten ..
Mitglied: Steve85
11.11.2005 um 09:07 Uhr
danke danke. werde es am montag direkt mal ausprobieren und euch dann sagen obs geklappt hat.
Aber trotzdem schon mal vielen dank.

Mit freundlichen Grüßen
Stefan
Bitte warten ..
Mitglied: Steve85
14.11.2005 um 10:47 Uhr
@Biber

Habe die Zeile in den Editor eingetragen und gespeichert. beim ausführen passiert aber nichts.
brauche hilfe!!!

Mit freundlichen Grüßen Steve
Bitte warten ..
Mitglied: Biber
14.11.2005 um 11:14 Uhr
Moin Steve,
na dann... sollten wir erstmal feststellen, wo es denn "nichts tut"..

1. CMD-Fenster aufmachen
2. >for /F %i in ('dir /A:<dummy>-D /b c:\test\steuer*.*') do @echo %i
Erstmal schauen, ob der Batch überhaupt Dateien findet.
Nein? Warum nicht? Was sagt denn "dir c:\test\Steuer*.*"
>dir c:\test\Steuer*.*

3. Wenn die obige FOR..IN..DO_Anweisung klappt..
...erstmal die banale Überprüfung sind denn Dateien namens Steuer*.* mit den Größen 113 und 97 Byte da? Anhand der DIR-Ausgabe ist das ja feststellbar.

4.> for /F %i in ('dir /A:<dummy>-D /b c:\test\steuer*.*') do @if %~zi==113 (@echo copy %i c:\test\Aus) else (@IF %~zi==97 @echo del %i)

Ergebnis? Ggf. poste den Output.
Kann auch sein, dass ich irgendwo einen Denk-oder Tippfehler drin habe - ich habe mir ehrlich bin weder ein Verzeichnis "c:\test\" angelegt noch Dateien namens "Steu*.*" mit 113 oder 97 Byte angelegt zum Testen.

Grüße
Biber
Bitte warten ..
Mitglied: Steve85
14.11.2005 um 11:46 Uhr
habe es so in den editor kopiert und gespeichert.
das fenster öffnet sich kurz, aber es passiert nichts.

FOR /F %i in ('dir/A:<dummy>-D /b c:\test\steuer*.*') do @if %~zi==113 (@echo copy %i c:\test\Aus) else (@IF %~zi==97 @echo del %i)

ich verzweifle langsam.

Punkt 1-3 hat geklappt.

Mit freundlichen Grüßen
STEVE
Bitte warten ..
Mitglied: Biber
14.11.2005 um 12:01 Uhr
Na, Steve85,
wenn Du bei sowas schon verzweifelst, hättest Du vielleicht doch Postbeamter werden sollen... *gg

Also: bitte vom CMD-Prompt aus abschicken:
for /F %i in ('dir /b c:\test\steuer*.*') do @if %~zi==113 @echo 113 Byte %i
for /F %i in ('dir /b c:\test\steuer*.*') do @if %~zi==97 @echo 97Byte: %i

und Ergebnis posten.
Lass Dir Zeit, ich mach erst Mittach.
Bitte warten ..
Mitglied: Steve85
14.11.2005 um 15:26 Uhr
habe das kopierproblem ganz einfach gelöst. jetzt muss ich nur noch die 97er gelöscht haben. brauch dazu nen vorschlag.
Mit freundlichen Grüßen
Steve
Bitte warten ..
Mitglied: Biber
14.11.2005 um 20:16 Uhr
Also, Steve
habe das kopierproblem ganz einfach gelöst.
Na prima.. wie war denn die einfache Lösung??

>>jetzt muss ich nur noch die 97er gelöscht haben. brauch dazu nen vorschlag.

Mein Vorschlag steht schon oben. Ich habe - entgegen meinen Gepflogenheiten - diesmal sogar den Oneliner getestet. Mach ich sonst selten, weil ich von meinen Bätchelchen eigentlich weiß, dass die zur Not auch unter Wasser laufen würden..
Habe also folgendes laufen lassen (nur Pfad/Namen und die Dateigröße geändert und ein "@echo" vor das copy/del):
::------snipp teststeve.bat
@for /f %%i in ('dir /b d:\temp\m*.txt d:\temp\ip*.txt d:\temp\*.vbs') do @echo %%~zi %%~fi
::@for /F %%i in ('dir /b c:\test\steuer*.*') do @if %%~zi==113 (copy %%i c:\test\Aus) else (@IF %%~zi==97 del %%i)
@for /F %%i in ('dir /b d:\temp\*.*') do @if %%~zi==293 (@echo copy %%i c:\test\Aus) else (@IF %%~zi==303 @echo del %%i)
::------snapp teststeve.bat
Output:
(=19:58:29 D:\temp=)
>e:\teststeve.bat
293 D:\temp\Marian.txt
303 D:\temp\ipconfig.txt
293 D:\temp\dateofyear.vbs
70 D:\temp\Week.vbs
401 D:\temp\XCOP.VBS
copy dateofyear.vbs c:\test\Aus
del ipconfig.txt
copy Marian.txt c:\test\Aus

Was machen wir beide unterschiedlich??? Unter welcher Windows-Version läuft es bei Dir?

Bisschen ratlos
Biber
Bitte warten ..
Mitglied: Steve85
15.11.2005 um 13:14 Uhr
Ich brauche jetzt nur noch die 97er löschen.
@Biber
wenn ich deine zwei zeilen in den editor kopiere und die pfade änder und das ganze abspeicher, rattert der beim ausführen der Batch die Dateien ab, jedoch passiert überhaupt nichts. naja.

Mit freundlichen Grüßen steve
Bitte warten ..
Mitglied: Biber
16.11.2005 um 09:34 Uhr
Tja, steve85,
wollen wir das auf sich beruhen lassen? Oder den Fehler beheben?
Mit freundlichen Grüßen Biber
Bitte warten ..
Mitglied: Steve85
22.11.2005 um 16:03 Uhr
habe alles versucht. jedoch krieg ich das nicht auf die reihe, die 97er zu löschen.
Bitte warten ..
Mitglied: Biber
22.11.2005 um 16:39 Uhr
Tja, Steve,
habe noch mal meinen Ansatz gänzlichst überarbeitet, probier es bitte nochmal mit diesem hier:
01.
::----snipp Copy113Del97redesigned.bat  
02.
@for /F %%i in ('dir /A:-d /b c:\test\steuer*.*') do @if %%~zi==113 (copy /y %%~fi c:\test\Aus) else (@IF %%~zi==97 del %%~fi)  
03.
::----snapp Copy113Del97redesigned.bat 
Wenn keine Änderung sichtbar ist, dann könntest Du vielleicht doch noch auf meine Fragen oben antworten. Manchmal muss man/frau eben abwägen zwischen Geheimhaltungsvorschriften und nötigen Informationen zur Fehlersuche. Und die potentielle Gefahr, dass ich das Wissen um Deine Windowsversion missbrauche, ist eher gering - vertrau mir.

Grüße Biber
Bitte warten ..
Mitglied: Steve85
29.11.2005 um 09:30 Uhr
ich weiß nich was ich falsch mache. ich habe es in den editor kopiert und laufen lassen. nix passiert. HAbe win xp mit SP1.
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Windows Server
Zuordnung von Netzlaufwerken mit Hilfe von Batch-Dateien (4)

Frage von doc-jochim zum Thema Windows Server ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...