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, 3078 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 ..
Neue Wissensbeiträge
Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 20 StundenInternet

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter die Seitenbetreiber ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 22 StundenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 22 StundenGoogle Android1 Kommentar

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Exchange Server

Exchange 2010 bis 2019 Sicherheitslücke durch CU RU schließen

Information von sabines vor 1 TagExchange Server

Für die hier: und hier: besprochene Sicherheitslücke ist ein Patch für Microsoft Exchange Server 2010 - 2019 verfügbar. RU ...

Heiß diskutierte Inhalte
Windows 10
Windows Update funktioniert nicht - Keine Verbindung mit dem Updatedienst
gelöst Frage von anveWindows 1030 Kommentare

Hallo, ich kann schon länger keine Updates mehr machen. Wenn ich auf Update suchen gehe, dann schreibt er folgendes: ...

LAN, WAN, Wireless
NETBEUI unter Windows 10
Frage von certifiedit.netLAN, WAN, Wireless26 Kommentare

Guten Abend, wir stehen gerade vor dem Rästel, warum man in einer Industriemaschine (wert gut 6-stellig, paar mal vorhanden) ...

Hardware
Was passiert wenn ein Server zu heiß wird?
Frage von LohrakHardware21 Kommentare

Hallo Sollte ein Server zu heiß werden, da z.B ein Lüfter ausfällt, was würde passieren? Wie meldet sich der ...

Internet
EU-Gremien einigen sich auf die schärfste Form von Upload-Filter und Leistungsschutzrecht
Information von FrankInternet17 Kommentare

Nun ist es . Die Verlage, die in der Vergangenheit das Internet verschlafen hatten und kurz vor ihrer Auflösung ...