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

gelöst Variable in andere Variable innerhalb von Befehlsblöcken

Mitglied: manu.miu

manu.miu (Level 1) - Jetzt verbinden

25.09.2011 um 23:28 Uhr, 3047 Aufrufe, 2 Kommentare

Variablen Wert in einer Variable einfügen, jedoch befindet sich das Ganze innerhalb von einem for-Befehlsblock, sodass nur die erweiterte Variante mit den Ausrufezeichen-Variablen möglich ist.

Abend allerseits,

erstmal tschuldigung für die unlogische Überschrift. Mir ist aber leider nichts aussagekräftigeres eingefallen.
Ich habe nun schon Stunden damit verbracht das Internet und auch dieses Forum zu durchforsten, aber nie eine Lösung zu meinem Problem gefunden.
Eine kurze Beschreibung was ich überhaupt vorhabe:
Und zwar wird die Speicherkarte des Autoradios nur dann erkannt, wenn alle Songs auf der Karte keine Sonderzeichen oder ähnliches enthalten. D.h. ich will einen kleinen Skript basteln, den ich nach dem Kopieren von Songs auf die Speicherkarte ausführe und der mir dann alle Ordnernamen und Dateinamen auf Sonderzeichen durchsucht und falls vorhanden diese Zeichen löscht. Ja ich weiß, das ist keine Kleinigkeit!

Mein Ansatz bisher war die Ordner und Dateien über "dir" auslesen und dann per "for" die einzelnen Zeilen auswerten. Für die Auswertung lass ich die Zeichen zählen und möchte dann diese nacheinander in eine Variable speichern, von wo aus dann mit einer if-abfrage das Zeichen entweder zugelassen oder ersetzt wird. Ist der gesamte Name am Ende ungleich dem Ausgangszustand, wird der Ordner-/ Dateiname ersetzt. Hoffe das war jetzt nicht zu kompliziert/unverständlich ausgedrückt!
Mein Problem und zugleich die Frage an euch ist: Wie bekommt ich das jeweilige Zeichen in eine Variable (in meinem Code die Variable letters (der Fehler Zeile 15)).

Wäre euch sehr dankbar für alle noch so kleinen Denkansätze, die mich vorwärts bringen. Ihr könnt auch ganz andere Vorschläge bringen (z.B. wie ich es mit einer andern Sprache lösen kann, C++ oder so...).

Hier mein erster Versuch:

01.
@echo off 
02.
setlocal EnableDelayedExpansion 
03.
cls 
04.
 
05.
set dateiname=test.bat 
06.
set G=%temp%\GNO.vbs  
07.
>%temp%\GNO.vbs echo Set rE=New RegExp:rE.Pattern=".":rE.Global=True:WScript.Echo rE.Execute(WScript.Arguments(0)).Count  
08.
 
09.
for /f "tokens=*" %%i in ('dir /B') do ( 
10.
	if not %%i==%dateiname% ( 
11.
		for /f %%a in ('cscript //nologo %G% "%%i"') do ( 
12.
			for /l %%k in (1,1,%%a) do ( 
13.
				set /a count=%%k - 1 
14.
				set filename=%%i 
15.
				set letters=!filename:~!count!,1! 
16.
				echo !letters! 
17.
18.
19.
20.
21.
 
22.
pause >nul 
23.
exit
So das wars...
schöner Abend noch,
Grüße Manu
Mitglied: pieh-ejdsch
26.09.2011 um 00:26 Uhr
moin Manu,

eine Variable mit offsets durchgehst Du mit
01.
for /l %%k in (0,1,%%a) do if "!Letters:~%%k,1!" neq "" echo\!Letters:~%%k,1!
derartigen Code fürs Umbenennen wegen Sonderzeichen gibts es Hier: Ersetzen von Zeichen in Datei- und Verzeichnisnamen in allen Unterordnern

Gruß Phil
Bitte warten ..
Mitglied: manu.miu
26.09.2011 um 22:08 Uhr
servus Phil,

vielen Dank für Deine schnelle Antwort.
Hab wahrscheinlich wieder viel zu eingeschränkt gesucht *tomatenaufdenaugen*

Hab mit Deiner Hilfe das Problem gelöst. Und zwar stand die Startnummer der for-schleife bei mir auf "1" und nicht wie bei Dir auf "0".

Vielen Dank nochmals!

Bis dann, Gruß Manu

*Beitrag gelöst*
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Mit zusammengesetzter Variable auf andere Variable zugreifen

gelöst Frage von abiberBatch & Shell2 Kommentare

Hallo zusammen, ich möchte in einer Batch Datei über Robocopy auf mehrere Rechner Dateien verteilen. Dazu möchte ich am ...

Batch & Shell

Datei als Variable auslesen und Variable ändern

gelöst Frage von chainsawBatch & Shell1 Kommentar

Hallo Profis, ich komme mit folgendem Problem nicht weiter: In dem Verzeichnis "C:\logfiles" landen bei mir Log-Dateien. Diese Log-Dateien ...

Batch & Shell

Variablen Nutzen welche aus dem Inhalt von Variablen erstellt werden

gelöst Frage von der-blobBatch & Shell4 Kommentare

Hallo Zusammen, der Titel ist zwar nicht direkt aussage kräftig, aber jedoch weis ich nicht wie ich es beschreiben ...

Batch & Shell

Variablen und Set

gelöst Frage von CerauxBatch & Shell2 Kommentare

Hallo, ich weiß nicht wie man mehrere Wörter in eine Variable machen? Also so: if %var1%%var2% echo Hallo %var1%=Dies ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 22 MinutenHumor (lol)

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 12 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 13 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 16 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...