heinertown
Goto Top

Befehl

Befehl soll alle Dateien kleiner als X in Ordner X verschieben

Hallo,

ich möchte in einem Ordner alle Dateien die kleiner als 1KB sind, in einen separaten Ordner verschieben. Wenn ich nun folgenden Befehl über die DOS-Konsole eingebe

for /R D:\log\ %i in (H*) do @if %~zi LSS 1 @Move %~i D:\log\schrott\

werden auch alle Dateien kleiner 1KB verschoben. Speichere ich nun diesen Befehl in einer Datei clean.bat

Inhalt clean.bat:
@echo on
for /R D:\log\ %i in (H*) do @if %~zi LSS 1 @Move %~i D:\log\schrott\

und führe diese aus funktioniert es schon nicht mehr.

Wo liegt mein (Denk)-Fehler?

Gruß und vorab Danke

Content-Key: 38345

Url: https://administrator.de/contentid/38345

Printed on: April 19, 2024 at 16:04 o'clock

Member: miniversum
miniversum Aug 23, 2006 at 16:17:50 (UTC)
Goto Top
In ner Batch Datei mach %% statt %.

also:
@echo on
for /R D:\log\ %%i in (H*) do @if %%~zi LSS 1 @Move %%~i D:\log\schrott

miniversum
Member: Biber
Biber Aug 23, 2006 at 20:50:06 (UTC)
Goto Top
Moin HeinerTown,

das Entscheidende hat miniversum schon gepostet.

Die kleineren Denkfehler, die mir noch aufgefallen sind:
@echo on
... würde ich weglasssen. Oder in "@echo off" ändern, wenn ich kein ECHO haben will

for /R D:\log\ %%i in (H*) do @if %%~zi LSS 1 @Move %%~i D:\log\schrott
Nicht ganz..
"LSS 1" heißt nicht "kleiner 1 KB", sondern "kleiner 1 Byte".
Also ändern in "LSS 1024"
Dann sieht der Oneliner so aus:
@for /R D:\log\ %%i in (H*) do @if %%~zi LSS 1024 @move %%~i D:\log\schrott

Ein Verbesserungsvorschlag noch - nicht alles unterhalb von D:\Log durchsuchen und nach D:\log\schrott verschieben.
Das ist unbeabsichtigt rekursiv.
Entweder:
@for /R D:\log\ %%i in (H*) do @if %%~zi LSS 1024 @move %%~i D:\log\schrott\Fastleer_*.*
-oder-
@for /R D:\log\ %%i in (H*) do @if %%~zi LSS 1024 @move %%~i E:\log\schrott

Gruß
Biber
Member: Biber
Biber Sep 02, 2006 at 11:40:25 (UTC)
Goto Top
Gruß und vorab Danke
...von daher denke ich, es kommt nichts mehr...

Ich setze den Beitrag auf "Gelöst".

Biber
P.S. Für alle, die es noch nicht wissen: Ich mag diese "Danke-im-Voraus-Formulierung" nicht.
Heißt in 90% der Fälle: "Ich werde mich nie wieder melden und nicht sagen, ob es geholfen hat".
[Edit 7.8.2007] HeinerTown hat es aber heute pr PN bestätigt: Beitrag ist gelöst.[/Edit]