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

Inhalt einer Datei mit batch script tauschen - find and replace content in batch

Frage Entwicklung Batch & Shell

Mitglied: ralfkausk

ralfkausk (Level 1) - Jetzt verbinden

13.06.2012, aktualisiert 16:09 Uhr, 2912 Aufrufe, 7 Kommentare, 1 Danke

Hallo zusammen, ich brauche mal wieder die Hilfe der Gemeinschaft ...

Ich muss folgendes realisieren

Es gibt eine Vorlagendatei in der für jeden einzelnen Anwender drei Platzhalter getauscht werden müssen.
Das Skript fragt den Benutzernamen ab, speichert ihn in eine Variable und fügt diesen Wert dann in die neue Datei ein.
Anschließend muss die Datei von Outlook importiert werden

Es scheitert im Moment daran das ich keinen blassen Dunst habe wie ich das mit DOS Befehlen umsetzen kann.
Mit der Powershell und/oder UNIX Werkzeugen ist es kein Problem, aber DOS ?!?

Mein script sieht bisher folgendermaßen aus

01.
:STARTHERE 
02.
@echo off 
03.
 
04.
REM SETTING SOME VARIABLES 
05.
set OLEXE="C:\Program Files (x86)\Microsoft Office\Office14\outlook.exe" 
06.
set SOURCE="W:\Public\datatransfer\helpdesk\outlook-getrag\2nd-Profile.txt" 
07.
set TARGET="C:\temp\2nd-Profile.prf" 
08.
set G=USERID 
09.
set /p UNAME=Please enter your username: 
10.
 
11.
copy %SOURCE% %TARGET% 
12.
 
13.
FIND and REPLACE 
14.
an dieser Stelle soll der Platzhalter USERID gegen den vom Anwender eingegebenen ersetzt werden 
15.
(%G% gegen %UNAME% tauschen) 
16.
 
17.
REM ADDING THE OUTLOOK PROFILE 
18.
%OLEXE% /importprf %TARGET% 
19.
 
20.
exit
Mitglied: DerWoWusste
13.06.2012, aktualisiert um 16:00 Uhr
Hi.

Zwei Tipps:
1) PRF-Dateien kennen die Variable %username% - reicht das nicht?
2) Für's Suchen und ersetzen von der Kommandozeile nehme ich dossr.exe. http://www.google.de/#hl=de&site=&source=hp&q=dossr.exe& ...
Auch mit sed.exe würde das gehen.
Bitte warten ..
Mitglied: ralfkausk
13.06.2012 um 16:06 Uhr
@DerWoWusste:

zu1) grundsätzlich ja, aber in diesem Fall nein
in diesem Fall geht es um eine neue ID und die entspricht nicht der mit der der Andender angemeldet ist, leider

zu2) Ich bin eigentlich für so was zu haben, aber in diesem falle gilt: nur mit Bordmitteln
(normalerweise bediene ich mich bei z.B. den Unix Tools und benutze den sed für so was)
Bitte warten ..
Mitglied: miraaa
13.06.2012 um 18:38 Uhr
Hallo rkujadt,
konntest du dein Problem schon lösen?
Ich hab nämlich leider genau das gleiche Problem und versuche schon seit Stunden erfolglos nach einer Lösung.
-> Ich bin für jede Hilfe dankbar!!
Lg Mira
Bitte warten ..
Mitglied: DerWoWusste
14.06.2012, aktualisiert um 12:52 Uhr
Ich habe selten Verständnis für die Diktion "nur mit Bordmitteln". Ich habe ein Kommandozeilenprogramm empfohlen, dass auf den Rechnern nichts verändert und keiner Installation bedarf. Es muss nicht einmal auf den Rechnern selbst liegen.
Bitte warten ..
Mitglied: miraaa
14.06.2012 um 12:34 Uhr
Na gut,
ich denke, dass ich es mal mit Powershell versuchen werde...

Falls dennoch jemand einen Vorschlag für eine Lösung mit der Windows cmd hat, bitte posten!!

DANKE!!
Lg Mira
Bitte warten ..
Mitglied: ralfkausk
14.06.2012 um 14:37 Uhr
@DerWoWusste: mag ja sein das Du was dagegen hast aber das tut hier eigentlich nix zur Sache.
Mein Arbeitgegeber sieht das offensichtlich etwas anders als Du, darum die Aussage: nur mit Bordmittel.
Wie ich schon geschrieben hatte benutze ich sonst wenn möglich gerne andere Proggis um mir das Leben einfacher zu machen, aber dasist hier NICHT möglich.

@miraaa: bei der Powershell kann ich Dir evtl. sogar weiterhelfen
Das Skript ändert
1. den Proxy auf einen neuen Wert
2. liest eine Datei ein, manipuliert diese und schreibt eine neue und
3. startet Outlook um diese zu importieren

Der für dich interessante Teil ist in dem Abschnitt "ADDING THE OUTLOOK PROFILE"
Die Datei wird eingelesen, dann werden alle Platzhalter (in diesem Fall USERID) gegen einen neuen Wert (der mit "$UNAME = read-host "Please enter your username:"" generiert wird) ausgetauscht und in einen neue Datei auf dem Rechner abgelegt (Set-Content $TARGET).
Der Rest ist für dich wahrscheinlich nicht nötig, könnte aber interessant sein.
Hoffe das hilft dir.

01.
# This script will change our IE proxy and create a new Outlook profile 
02.
# The Outlook profile will be attached to your Default profile 
03.
 
04.
# SETTING SOME VARIABLES 
05.
$OLEXE = "C:\Program Files (x86)\Microsoft Office\Office14\outlook.exe" 
06.
$SOURCE = "W:\Public\datatransfer\helpdesk\outlook\2nd-Profile.txt" 
07.
$TARGET = "C:\temp\2nd-Profile.prf" 
08.
$UNAME = read-host "Please enter your username:" 
09.
 
10.
# CHANGING THE IE8 PROXY SETTING 
11.
write-host "Changing the IE proxy to: http://browsers.xxx.com/ie/proxy.js" 
12.
set-itemproperty "hkcu:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -name AutoConfigURL -Value http://browsers.xxx.com/ie/proxy.js 
13.
#write-host "Please check if new value is correct ..." 
14.
#get-itemproperty "hkcu:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -name AutoConfigURL 
15.
 
16.
# ADDING THE OUTLOOK PROFILE 
17.
(Get-Content $SOURCE) | Foreach-Object {$_ -replace "USERID", $UNAME} | Set-Content $TARGET 
18.
write-host "Creating new Outlook profile ..." 
19.
& $OLEXE /importprf $TARGET
Bitte warten ..
Mitglied: miraaa
23.07.2012, aktualisiert 27.07.2012
Danke für deine Hilfe, hab alles super hinbekommen.

Liebe Grüße und schönes Wochenende,
Mira
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Batch Script Editor - Programmvorstellung des Entwicklers (16)

Tipp von wowItsDoge zum Thema Batch & Shell ...

Windows Server
Batch Script bei Start ausführen (3)

Frage von KEFHVDI zum Thema Windows Server ...

Batch & Shell
Batch-Script für Lizenzen (3)

Frage von stoepsu77 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...

DSL, VDSL
DSL-Signal bewerten (8)

Frage von SarekHL zum Thema DSL, VDSL ...