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 Ordner finden und eine darin enthaltene text-datei ergänzen

Mitglied: Schnitzel

Schnitzel (Level 1) - Jetzt verbinden

12.01.2006, aktualisiert 24.06.2008, 6964 Aufrufe, 4 Kommentare

Hallo zusammen,

ich habe mich nun durch mehrere Beiträge hier gearbeitet. Bis jetzt habe ich nur nichts gefunden was mir hilft, bzw. ich konnte es mir aus den ganzen "Code-Schnipseln" nichts funktionierendes zusammensetzen.

Mein Anliegen:
Es gibt bei unseren Benutzen auf C:\ in einer Oracle Verzeichnisstruktur einen bestimmten Ordner, in welchem die Datei "tnsnames.ora" (eventuell) geändert werden muß. Ebenso muß eine neue Datei in diesen Ordner neu hinzugefügt werden.

Der Pfad könnte sein:
01.
C:\oracle\ora81\network\ADMIN</font> 
02.
 
03.
Wenn das immer so der Fall wäre wäre das wunderbar. 
04.
Nun ist es so das manche Benutzer eine andere Oracle Version haben und sich somit der Pfad ändert. 
05.
Dieser könnte dann 
06.
<code>C:\oracle\ora82\network\ADMIN
lauten.

Ich muß immer in den Ordner network\ADMIN
Den finde ich mittels:
01.
dir %systemdrive%\oracle\*. /s > orpath.txt
und habe in dann in der text datei stehen.

Nun müsste die die Textdatei ausgelesen werden, der Pfad als Variable übernommen.
Der nächste Schritte wäre: Finde in %PfadVariable% die Datei "tnsnames.ora" schau in die datei ob folgender Inhalt schon vorhanden ist:

------------Inhalt der auf Existenz zu überprüfen wäre---------------
01.
#####################################################################  
02.
# MEINS                                                               
03.
#####################################################################  
04.
MEINS.world =  
05.
  (DESCRIPTION =  
06.
    (ADDRESS_LIST =	  
07.
      (ADDRESS = (PROTOCOL = TCP)  
08.
                 (HOST = HOSTNAME)  
09.
                 (PORT = 12345)  
10.
      )  
11.
    )  
12.
    (CONNECT_DATA =  
13.
      (Service_name = MEINS)	 
14.
    )  
15.
  )	
----------------ENDE-----------------------------------------------------

Wenn diese Info nicht drinnen steht, soll sie eingefügt werden. Dabei ist egal WO sie steht. Oben, unten, mitte.
Wenn diese Info schon vorhanden ist, lass alles wie es ist.

Zusätzlich muß noch eine Datei in den Ordner %PfadVariable% kopiert werden.

Letzendlich -> Übergib die Variable %PfadVariable% der Bat-Datei X damit der restliche Kladeradatsch ohne manuelle Eingabe läuft.

Wie kann ich das bewerkstelligen bitte? Bin für jeden Tip dankbar.

Gruß
Schnitzel

[Edit Biber ] Nach relativ zeitnaher Rückmeldung im Juni 2008 auf "Gelöst" und "Geschlossen" gesetzt.[/Edit]
Mitglied: Biber
12.01.2006 um 16:52 Uhr
Moin Schnitzel,

ist ja alles machbar.
Rückfragen:
1) Die o.a. Connect-Infos, also dieser Service "MEINS", die würde ich (an die Zukunft denken) gleich aus einem Verzeichnis holen, in dem dann die Einzel-Textdateien "Meins.ora", Meinzweites.ora", "NochEins.ora" etc. stehen.
Alle diese Ora's werden überprüft und ggf. eingefügt, heute existiert halt nur die Meins.ora.
Wäre das eine sinnvolle Strategie?

2) Musst du die SQLNet.ora oder irgendwelche Listener.Ora auch anpassen?

3) Du schreibst, wenn diese Connection nicht drin ist, dann anfügen. Okay.
Wenn sich bei dieser Connection aber der Port, der DB-Server oder andere Parameter ändern - das prüfst Du nicht über diesen Batch?

Gruß Biber
Bitte warten ..
Mitglied: Schnitzel
13.01.2006 um 17:26 Uhr
Hi Biber,

zu 1) danke für diesen Tipp, allerdings ist dies nicht nötig.
2) Nein.
3) Ich würde es über den Batch nicht prüfen lassen. Die Vorgaben die da drinnen stehen sind fest. Es wird sich Serverseitig nichts ändern.

Gruß
Schnitzel
Bitte warten ..
Mitglied: Biber
15.01.2006 um 18:28 Uhr
Moin Schnitzel,

ich habe mal einen einfachen lösungsansatz gewählt.
Voraussetzungen:
a) der TNS-Homepath wird wie-auch-immer ermittelt.
Heißt im Batch "TNSHome". Siehe Notizen.
b) die neue(n) Connections stehen in Einzeldateien mit der Endung ".ora"
Im Batch im Pfad "DefaultOraPath"
c) Diese Connection-Ora#s heißen Meins.ora, wenn die Connection "Meins" heißt,
Alfred.ora, wenn die Connection "Alfred" heißt usw.
d) Die xyz.ora's sind so formatiert, dass ZUMINDEST die Suchstrings
"Service_name" (alternativ ginge "SID" oder "CONNECT_Data") und "Meins" ("Alfred"...)
in der gleichen Zeile stehen.
Also so formatiert sind:
#---------snipp Meins.ora

  1. MEINS

MEINS.world =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = HOSTNAME) (PORT = 12345)))
(CONNECT_DATA = (Service_name = MEINS)))
#-------snapp Meins.ora

Unter diesen (IMHO machbaren) Voraussetzungen geht es hiermit:
01.
::-snipp AppendAnOra.bat 
02.
@echo off & setlocal 
03.
Set "DefaultOraPath=\\server27\oraconns" 
04.
Set "TNSHome=c:\oracle\ora81\network\ADMIN" 
05.
:: Ich lass mal die Ermittlung des TNSHome-Verzeichnisses weg. 
06.
:: Du hast ja schon eine Methode gefunden, ich würde eher 
07.
:: diesen Pfad aus der Registry lesen (HKLM\Software\Oracle\Oracle_Home] 
08.
:: und die "festen" Unterpfade "network\ADMIN" dranhängen. 
09.
If NOT exist %TNSHome%\TNSNames.ora (echo %TnsHome%\TNSNames.ora nicht gefunden!) && goto :eof 
10.
FOR /f "delims=" %%i in ('dir /b /s %DefaultOraPath%\*.ora') do call :AppendOra %%~ni "%%i" 
11.
goto :eof 
12.
+++++++++++++ 
13.
:AppendOra  
14.
:: --gibt es Zeile mit "Service_name" UND "Meins" (oder wie der Service heißt) ? 
15.
(find /i "Service_Name" %TnsHome%\TNSNames.ora|Find /i "%1">nul) && goto :eof 
16.
:: wer <b>hier</b> ankommt, hat KEINEN Eintrag gefunden... 
17.
echo DebugInfo Errorlevel 1!! Eintrag "%1" wird angefügt. 
18.
echo.>>%TnsHome%\TNSNames.ora 
19.
copy /b %TNSHome%\TNSNames.ora+%2 %TnsHome%\TNSNames.ora >nul 
20.
goto :eof 
21.
::-snapp AppendAnOra.bat
HTH Biber
Bitte warten ..
Mitglied: Schnitzel
24.06.2008 um 17:53 Uhr
Danke! an der Stelle. Auch wenns etwas spät kommt
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Ordner durchsuchen - wenn "bestimmter Text" in einer Datei enthalten, diese Datei in einen anderen Ordner kopieren oder verschieben

gelöst Frage von ConcurveBatch & Shell14 Kommentare

Hallo zusammen, ich habe ein Problem bei der Erstellung einer *.bat, welche innerhalb eines zu definierenden Ordners alle Dateien ...

Microsoft Office

Excel (2016): Enthaltenen Text suchen

gelöst Frage von ralfkauskMicrosoft Office3 Kommentare

Hallo zusammen Ich brauche mal Hilfe (bei Excel 2016) Ich habe zwei Tabellen In beiden Tabellen gibt es die ...

Batch & Shell

Wie kann ich in Batch überprüfen, ob ein Text einen Buchstaben enthält?

Frage von CYCGHGBatch & Shell3 Kommentare

Hallo, ich habe eine Frage zu Batch. Folgendes: set /p text= if %test% CONTAINS "/" Irgendein Befehl /\ Diesen ...

Batch & Shell

Powershell - Dateien vergleichen und ergänzen

Frage von Franz-Josef-IIBatch & Shell11 Kommentare

Guten Tag Ich bin wieder einmal bei meiner CSV dran und hänge :-( trotz Google und Co Ausgangslage ist ...

Neue Wissensbeiträge
Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 9 StundenExchange Server3 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Suche Projektpartner

PC Recycling Projekte mit Flüchtlingen und Kids suchen Materialspenden und Mitmacher!

Erfahrungsbericht von NettePCyclePiraten vor 1 TagSuche Projektpartner7 Kommentare

Hallöchen liebe Kollegen, ich betreue zwei PC-Gruppen im Raum Dortmund: "Ne#e PCycle Pir@ten" & "PCschr@uber Br@mbauer" Wir sind eine ...

iOS
IOS 12.2 beta und OpenVPN iPad und iPhone
Erfahrungsbericht von magicteddy vor 1 TagiOS

Moin, kleiner Hinweis an die experimentierfreudigen unter Euch: Bei der aktuellen beta gibt es ein Problem im Zusammenspiel zwischen ...

Vmware
VMware Tools 10.3 verfügbar
Information von sabines vor 1 TagVmware

Eine Sicherheitslücke wird mit den Tools der Version 10.3 geschlossen, die Tools müssen auf jeder VM aktualisiert werden. Näheres ...

Heiß diskutierte Inhalte
Windows Netzwerk
Netzwerk einrichten - wie mache ich es richtig?
Frage von gintonikWindows Netzwerk21 Kommentare

Hallo, ich bin neu hier und erhoffe mir hier ein paar Antworten für meine Umsetzung zu erhalten. Kurz zu ...

CPU, RAM, Mainboards
4x 2 GB DDR2 1066 gesucht
gelöst Frage von Windows10GegnerCPU, RAM, Mainboards16 Kommentare

Hallo, ich plane den RAM meines Rechners aufzurüsten. Motherboard: Gigabyte X48 DS5 Der FSB steht bei 259, daher soll ...

Microsoft Office
Druckdatum nur auf ausgedrucktem Dokument anzeigen
gelöst Frage von eichi18Microsoft Office16 Kommentare

Hallo zusammen Ich versuche in einem Word Dokument das Druckdatum nur auf dem eigentlichen Ausdruck auszugeben und am Bildschirm ...

Firewall
Pfsense - Package Manager - Unable to retrieve package information
Frage von nubyFirewall12 Kommentare

Hallo! Ich habe mit verschiedenen Versionen von Pfsense Probleme neue Packages herunterzuladen. Bei Pfsense 2.3.1 oder 2.3.5 heißt es: ...