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, 2109 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
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 ...

Batch & Shell
gelöst In Batch variable DOS-Funktion von "größer" und "kleiner" Zeichen unterdrücken (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Windows Tools
gelöst Powershell Befehle aus Batch-Datei falsch überetzt? (2)

Frage von Chillministrator zum Thema Windows Tools ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

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

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...