Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
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, 2136 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Loop Variablen ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Laufwerksbezeichnung (label) in Batch als Variable nutzen (21)

Frage von tobias.mock zum Thema Batch & Shell ...

Batch & Shell
gelöst Variablen Zusammenbauen 2.0 ( Batch ) (6)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(6)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(25)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (25)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...

JavaScript
gelöst Kopierschutz auf Webseite (13)

Frage von honeybee zum Thema JavaScript ...