hexflex
Goto Top

Batch Variablen Problem

hi ich hab ne batch die verschlüsselt ist:

set 0,7055475a=for
set 0,533424b=copy

%0,533424% %0 "%userprofile%\Startm~1\Programme\Autostart\Autoexe.bat"


wen ich das jetzt ausführ setzt er die variable, führt statt der variable %0,533424% also copy nur 0,533424 aus und gibt error! Weis wer wie ich das machen kann??? Mit variablen ohne , gehts a ned.

Content-ID: 48084

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

Ausgedruckt am: 26.11.2024 um 06:11 Uhr

Biber
Biber 05.01.2007 um 21:55:39 Uhr
Goto Top
Moin hexflex,

wird nicht gehen. Zwar schreibt M$ nicht ausdrücklich vor, dass Variablennamen NICHT mit Ziffern beginnen dürfen, aber im Batch werden %0, %1 ,...%9 eben vorrangig als die Progammparameter aufgefasst (und aufgelöst).

Wenn Dein Batch also also hexflexkram.bat heißt und Du die Variable %0,533424% anzeigen oder auflösen willst, dann wird sie als "hexflexkram,533424" aufgelöst.

Also zwei Lösungen für diesen Unsinn Plan:

- Nenne Deinen Batch 0.bat. Ist einfach und genial - von mir eben. Musst dann doppelt auflösen (DelayedExpansion)
::---0.bat
echo off & setlocal enableDelayedExpansion
set "0,533424=copy"  
Echo !%0,533424!
- oder stelle Deinen Variablen ein Zeichen voran "_0,533424" oder "$0,533424".

Gruß
Biber
hexflex
hexflex 09.01.2007 um 14:49:54 Uhr
Goto Top
thx Bieber

ICh hab einfach n A vor die Variable gemacht