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

durch script erzeugte Leerzeichen entfernen

Frage Entwicklung Batch & Shell

Mitglied: ralfkausk

ralfkausk (Level 1) - Jetzt verbinden

27.10.2008, aktualisiert 16:02 Uhr, 5223 Aufrufe, 4 Kommentare

ich muß eine Software instalieren die am ende in jedem vorhandenen Benutzerprofil eine Konfigurationsdatei ablegt. Die installation klappt wunderbar, nur das mit der Konfigurationsdatei noch nicht so ganz.

Folgendes hab ich gemacht:
01.
@echo off 
02.
 
03.
:: löschen alter dateien 
04.
if exist c:\temp\sap\homedirtemp.txt del c:\temp\sap\homedirtemp.txt 
05.
if exist c:\temp\sap\homedirs.txt del c:\temp\sap\homedirs.txt 
06.
 
07.
:: Variable setzten 
08.
set docset=C:\Documents and Settings 
09.
set sapdir=\Application Data\SapGui\ 
10.
 
11.
:: homedirs auslesen und in datei schreiben 
12.
dir /b "%docset%" > c:\temp\sap\homedirtemp.txt 
13.
 
14.
:: kompletten SAPGUI-Pfad in datei schreiben 
15.
for /f "tokens=*" %%i in (c:\temp\sap\homedirtemp.txt) do @echo %docset%\%%i%sapdir% >> c:\temp\sap\homedirs.txt 
16.
	 
17.
:: kopierbefehl ausführen 
18.
:: for /f "tokens=*" %%i in (c:\temp\sap\homedirs.txt) do xcopy "X:\div\install\GFT\SAP_Patches\saplogon.ini" "%%i\%sapdir%"  /i /h /r /y 
19.
for /f "tokens=*" %%i in (c:\temp\sap\homedirs.txt) do @echo "%%i%sapdir%" 
20.
exit
Mein Problem ist, das dass Zusammenfügen der einzelnen Ergebnisse nicht so funktioniert wie ich mir das vorstelle.
Die vorhandenen Benutzerverzeichnisse werden korrekt ausgelesen und in die Datei gespeichert.
Wenn ich allerdings, die drei datensätze zusammenfüge (%docset% + benutzerid + %sapdir%, entsteht am Ende ein Leerzeichen!
Das sieht dann so aus: "C:\Documents and Settings\benutzername\Application Data\SapGui\ "
Am Ende, hinter SapGui ist ein Leerzeichen.
Darum fragt der xcopy Befehl dann jedesmal ob es sich um eine Datei oder ein Verzeichnis handelt.

Meine Frage wäre jetzt, wie bekomme ich das Leerzeiche am Ende weg?

Vielen dank im voraus
Ralf
Mitglied: paulepank
27.10.2008 um 14:45 Uhr
Hallo Ralf,

laß das Leerzeichen vor >> in Zeile 15 weg. Also so:
01.
......@echo %docset%\%%i%sapdir%>> c:\temp\sap\homedirs.txt
in der Kommandozeile geht das zumindest.

Alternativ, hast du schon mal die Option /i bei Xcopy getestet ?

cu paulepank
Bitte warten ..
Mitglied: bastla
27.10.2008 um 15:01 Uhr
... und zur Sicherheit ändere die Zeile 9 auf
set "sapdir=\Application Data\SapGui\"
Dem von paulepank angesprochenen Problem beuge ich gerne mit folgender Schreibweise vor:
.... @>>c:\temp\sap\homedirs.txt echo %docset%\%%i%sapdir%
... und da ich schon mal da bin: Pfade wie zB "c:\temp\sap\homedirs.txt" lassen sich leichter pflegen, wenn Du sie vorweg Variablen zuweist ...

Grüße
bastla
Bitte warten ..
Mitglied: ralfkausk
27.10.2008 um 15:43 Uhr
@paulepank
das wars! danke

so ein mist, an anderer Stelle passiert das nicht, warum ausgerechnet da?
na ja, was soll's, hauptsache es funktioniert

@bastla
danke auch für deine hilfe
aber, anführungszeichen an der stelle funktionieren nicht, da ich die variable %%i schon damit maskiert habe.

das mit den pfaden werde ich auch noch machen, auf jeden fall. das script läuft aber im moment nur auf meiner testmaschine, darum hatte ich das noch nicht geändert.
Bitte warten ..
Mitglied: bastla
27.10.2008 um 16:02 Uhr
Hallo rkujadt!
anführungszeichen an der stelle funktionieren nicht, da ich die variable %%i schon damit maskiert habe.
Du hast das auch getestet?

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...