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
GELÖST

Wert in Variable suchen / Variable ändern

Frage Entwicklung Batch & Shell

Mitglied: kinggunta

kinggunta (Level 2) - Jetzt verbinden

08.02.2007, aktualisiert 18:12 Uhr, 4653 Aufrufe, 5 Kommentare

Hallo Leute!

Ich habe in einer Batchdatei eine Variable die so Aufgebaut ist:


xyzxxxxzyzyzyz (37373) xxsxsxsx scsc


Jetzt suche ich einen Befehl der alles was hinter der letzten Klammer steht abschneidet.

Also so: xyzxxxxzyzyzyz (37373)


Die Schwierigkeit dabei ist dass die Stellen vor und nach der Klammer einmal mehr und einmal weniger sind.
Alles was ich habe ist immer diese Klammer zu Schluss ")"

Und alles dahinter soll eben abgeschnitten werden.


Bitte HILFE!

Danke
KingGunta
Mitglied: bastla
08.02.2007 um 16:28 Uhr
Hallo kinggunta!

Wenn Du so laut um Hilfe rufst, muss ich natürlich etwas versuchen:
01.
set "Drucker=HP Deskjet 840 (PC1) in Sitzung 1" 
02.
Echo WScript.Echo Left(WScript.Arguments(0), InstrRev(WScript.Arguments(0),")"))> "%temp%\GetPart.vbs" 
03.
for /f "delims=" %%i in ('cscript //nologo "%temp%\GetPart.vbs" "%Drucker%"') do set "Dr=%%i" 
04.
del "%temp%\GetPart.vbs" 
05.
echo %Dr%
(Erste und letzte Zeile zu Demozwecken)

Grüße
bastla
Bitte warten ..
Mitglied: kinggunta
08.02.2007 um 16:46 Uhr
Hallo bastla!

Danke für Deine Antwort!
Ich bin echt schon am verzweifeln. ;-(
Ich glaube du bist der einzige der mit weiterhelfen kann

Habe bis jetzt folgendes Script selbst gebaut:


on error resume next
Msgbox Printerliste

Function Printerliste()
Set shell = CreateObject("Shell.Application")
Set folder = shell.NameSpace(4)
Printerliste = vbcrlf

For Each item In folder.Items

If item.Name <> "Drucker hinzufügen" Then

arrArtikel = Split(item.Name, ")")

Printerliste = Printerliste & arrArtikel(0) & vbcrlf

End If

Next
End Function



Alles hergeleitet aus diesem Skript:

on error resume next
Bsp = ""
Msgbox Printerliste

Function Printerliste()
Set shell = CreateObject("Shell.Application")
Set folder = shell.NameSpace(4)
Printerliste = "Das sind alle verfügbaren Drucker! Bitte genaue Schreibweise beachten!" & vbcrlf

For Each item In folder.Items
If item.Name <> "Neuer Drucker" Then
Printerliste = Printerliste & item.Name & vbcrlf
Bsp = item.Name
End If
Next
End Function

Printerwechsel Inputbox("Welcher Drucker soll Standarddrucker werden?" & vbcrlf _
& Printerliste,vbQuestion,Bsp)

Function Printerwechsel(Printer)
Set shell = CreateObject("Shell.Application")
Set folder = shell.NameSpace(4)

For Each item In folder.Items
If item.Name = Printer Then item.InvokeVerb "Als S&tandard definieren"
Next
End Function

Msgbox "Aus der Registry ausgelesener Standarddrucker : " & StandardPrinter
Function StandardPrinter()
Set wshshell = CreateObject("Wscript.Shell")

key = "HKEY_LOCAL_MACHINE\Config\0001\System\CurrentControlSet\Control\Print\Printers\Default"

StandardAlt = wshshell.RegRead(key)
StandardPrinter = StandardAlt
End Function



Msgbox "Infos des Networkobjectes: " & vbcrlf & NetworkDrucker


Function NetworkDrucker()
Set Netzwerk = CreateObject("Wscript.Network")
Antwort = Msgbox("Soll der Standarddrucker mal mit dem Networkobject gewechselt werden?",vbyesNo+VBQuestion)
if Antwort = vbyes then Netzwerk.setDefaultPrinter Inputbox("Printer-Namen eingeben! " & Printerliste,vbQuestion,Bsp)
Domaen = Netzwerk.UserDomain
UName = Netzwerk.UserName
CName = Netzwerk.ComputerName
Set ndcollection = Netzwerk.EnumPrinterConnections
For Each nd In ndcollection
ndListe = ndListe & nd & Chr(13) & Chr(10)
Next
Info = ""
Info = Info & "User-Domain: " & Domaen & Chr(13) & Chr(10) _
& "User-Name: " & UName & Chr(13) & Chr(10) _
& "Computer-Name: " & CName & Chr(13) & Chr(10) _
& Chr(13) & Chr(10) & Chr(13) & Chr(10) _
& "Permanente Netzwerk_Drucker Verbindungen:" & Chr(13) & Chr(10) _
& Chr(13) & Chr(10) _
& ndListe & Chr(13) & Chr(10)
NetworkDrucker = Info
End Function




Möchte jetzt nur noch die Liste an Drucker die ich in die Massagebox ausgebe dazu verwenden
um bei die bestehenden Druckernamen zu ändern.

Allerdings schaffs ich nicht.

Bitte Hilfe mir!!
Bitte warten ..
Mitglied: bastla
08.02.2007 um 17:01 Uhr
Hallo kinggunta!

Kannst Du bitte etwas genauer ausführen (vielleicht in einem neuen Thema?), was Du benötigst (Batch ja denn wohl eher nicht mehr )?

Grüße
bastla
Bitte warten ..
Mitglied: kinggunta
08.02.2007 um 17:11 Uhr
Servus bastla!

Ich hab ein neues Thema eröffnet:
"Drucker mit VBS ubenennen"


Danke
KingGunta
Bitte warten ..
Mitglied: Biber
08.02.2007 um 18:12 Uhr
Na ja,

auch wenn das Thema eigentlich schon abgefrühstückt ist... eine Fussnote noch

01.
(=18:08:30  D:\temp=) 
02.
>set "Drucker=HP Deskjet 840 (PC1) in Sitzung 1" 
03.
(=18:08:43  D:\temp=) 
04.
>for /f "tokens=1-3 delims=()" %i in ("%Drucker%") do @echo part1[%i] part2[%j] part3[%k] 
05.
part1[HP Deskjet 840 ] part2[PC1] part3[ in Sitzung 1] 
06.
(=18:09:15  D:\temp=) 
07.
>for /f "delims=(" %i in ("%Drucker%") do @echo Drucker is' %i 
08.
Drucker is' HP Deskjet 840 
09.
(=18:10:05  D:\temp=) 
10.
>for /f "delims=)" %i in ("%Drucker%") do @echo Drucker is' %i) 
11.
Drucker is' HP Deskjet 840 (PC1)
Gruss Biber
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel: Wert aus mehreren Datein suchen und zugehörige Werte ausgeben (11)

Frage von RubyLissy zum Thema Microsoft Office ...

Batch & Shell
gelöst Powershell - Werte in Variable durch Schleife erweitern bzw. ändern (5)

Frage von ralfkausk zum Thema Batch & Shell ...

Batch & Shell
Powershell Skript Ändern - Mehrere Hotfix IDs finden (1)

Frage von pixel0815 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (13)

Frage von aschmid zum Thema Router & Routing ...