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
Kommentar vom Moderator Biber am 18.04.2012 um 20:57:24 Uhr
Codeformatiert und verschoben von "Windows oder was" nach "Batch & Shell".
GELÖST

Batch Variable wird falsch zugewiesen

Frage Entwicklung Batch & Shell

Mitglied: amenne

amenne (Level 1) - Jetzt verbinden

18.04.2012, aktualisiert 20:57 Uhr, 2114 Aufrufe, 4 Kommentare

irgendwie funktioniert der Befehl 'set' bei mir nicht richtig...

Woran kann das liegen? Der Befehl set scheint bei mir nicht richtig zu funktionieren. Ich habe folgendes Script geschrieben:
01.
@echo off & setlocal 
02.
for /d %%v in ("I:\Pat_Dat\testtest\*.*") do ( 
03.
	pushd "%%v" 
04.
	ECHO.working now in: 
05.
	ECHO.%%v 
06.
	for %%f in (*.*) do ( 
07.
		:: Directory mit Namen der Größe anlegen und Datei hineinkopieren 
08.
		set  /a dateigroesse=%%~zf 
09.
		echo.Der richtige Wert von Dateigroesse ist %%~zf 
10.
		echo.Der erste Wert der Variablen dateigroesse ist %dateigroesse% 
11.
		set /a "dateigroesse=%dateigroesse% /1024" 
12.
		echo.Der zweite Wert der Variablen dateigroesse ist %dateigroesse% 
13.
		if not exist "%dateigroesse%" md "%dateigroesse%" 
14.
		xcopy %%f "%dateigroesse%" 
15.
16.
	popd 
17.
)
Ziel: Dateien in einem Ordner nach der Größe in Unterordner sortieren. Klappt so auch, wenn ich die Berechnungen mit der Variablen dateigroesse weglasse. Nun sind aber die Dateien ein bisserl unterschiedlich groß, so dass ich sie nach ihrer KB-Größe, nicht nach den Bytes sortieren will. Deshalb die Berechnungen.

Problem: Die Ausgabe ist
Der richtige Wert von Dateigroesse ist 290314
Der erste Wert der Variablen dateigroesse ist 577
Der zweite Wert der Variablen dateigroesse ist 577

Erwarten würde ich aber sowas wie 290314, 290314, 280. In der Zeile "set /a dateigroesse=%%~zf" klappt offensichtlich die Zuweisung nicht...

Es scheint vielleicht damit zu tun zu haben, dass die cmd die variable dateigroesse nur einmal für die forschleife berechnet? Oder mit den zwei for-schleifen, die verboten sein sollen (hab ich mal irgendwo gelesen)? Aber es funktioniert ja ohne dateigroesse wunderbar...

Wie könnte ich es richtig machen?
Mitglied: ITSchlumpf
18.04.2012 um 14:36 Uhr
Hoi,

wieso "set /a"?
Lass mal das /a weg vll geht es dann?!

lg
Bitte warten ..
Mitglied: Skyemugen
18.04.2012 um 14:43 Uhr
Aloha, (Ja, wir begrüßen hier erst einmal!)

bevor ich wieder Augenschmerzen bekomme, nutze bitte unsere schöne <code></code>-Formatierung.

So, nächster Punkt ist: nutze enabledelayedexpansion zusammen mit !Variable! oder rufe einen Unterprozess per call :Sprungmarke auf, denn set /a "dateigroesse=%dateigroesse% /1024" innerhalb der Schleife kann so nicht funktionieren.

greetz André (auch das gehört zum guten Ton!)

@IT-Schlumpf ... mal ernsthaft, wenn man keine Ahnung hat ...
Bitte warten ..
Mitglied: 106009
18.04.2012 um 14:44 Uhr
Für Codezeilen gibt es die Formatierungshilfe

Für eine Begrüßung als Zeichen für eine ordentliche Erziehung gibt's Grußformeln. Die lauten nicht "Irgendwie" oder "Woran", sondern z. B. Hallo, Hi, Guten Tag oder ähnlich.
Bitte warten ..
Mitglied: amenne
18.04.2012 um 14:55 Uhr
Hallo , Wollte halt sachlich bleiben, daher fehlten die Grüße. Ich hoffe, ihr verzeiht.

vielen Dank, skyemugen, für die schnelle Hilfe!! Habe mit das script jetzt mit enabledelayedexpansion und !Variable! wunderbar zum laufen gekriegt, funktioniert einwandfrei, bin ich froh.

1000 Dank und beste Grüße, AM
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst Firtzbox VPN nicht alle Ports erreichbar? (15)

Frage von atarjono zum Thema Router & Routing ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (15)

Frage von ProfessorZ zum Thema Router & Routing ...