Top-Themen

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, 2142 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
Batch - Variablen
gelöst Frage von Marlon1Batch & Shell2 Kommentare

Hallo, Ich habe eine Frage zu Variablen. Und zwar ob es irgendwie geht das Batch mit ein IF Befehl ...

Batch & Shell
Batch-Variable rechnet immer weiter
Frage von ZwergkaninchenBatch & Shell4 Kommentare

Hallo, Leute! Ich wollte mir ein kleines Idle-Game in Batch schreiben, aber ich komm nicht weiter. Hier ist ein ...

Batch & Shell
Batch: Variable einen Wert zuweisen
gelöst Frage von sklaimBatch & Shell7 Kommentare

Hallo zusammen! Ich bin gerade am verzweifeln Ich habe in Batch 2 Variablen: Wenn ich mir von diesen den ...

Batch & Shell
Variablen von Batch zu VBS übergeben
gelöst Frage von ciejayBatch & Shell10 Kommentare

Hallo liebe Com, ich versuche mich gerade in der Batch und vbs Programmierung und bin daher sozusagen noch Anfänger. ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 2 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 2 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 10 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server12 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...