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 Pfad-Variablen verknüpfen bzw. zusammenführen

Mitglied: bipede

bipede (Level 1) - Jetzt verbinden

14.11.2008, aktualisiert 15.11.2008, 20620 Aufrufe, 7 Kommentare

Hallo! Ich möchte zwei Variablen, die jeweils einen Teil eines Pfades beinhalten, zu einem neuen Pfad zusammenführen.

Hier mal ein Beispiel:

01.
set var1="C:\" 
02.
set var2="test.pdf" 
03.
 
04.
echo %var1%_%var2% 
05.
 
06.
pause
Das Ergebnis sollte so aussehen:

01.
"C:\test.pdf"
Sieht aber so aus (Problem sind die ""):

01.
"C:\""test.pdf"
Hintergrund:
Eine bestimmte Software (LEd) übergibt bestimmte Pfadvariablen so:

01.
@rem There are 3 parameters passed  to this batch: 
02.
@rem     %1 - <MAINFILEDIR> 
03.
@rem     %2 - <MAINFILENAME> 
04.
@rem     %3 - <MAINFILEDISK>
Und ich möchte den Adobe Reader aufrufen und ihm dabei den Pfad zur Datei übergeben, so in etwa:

01.
cd C:\Programme\Adobe\Reader 9.0\Reader 
02.
AcroRd32.exe %1%2
Beste Grüße
manu
Mitglied: 51705
14.11.2008 um 21:27 Uhr
Hallo,

probier doch mal:

01.
set "var1=C:\" 
02.
set "var2=test.pdf"
wenn das nicht funktioniert, warte auf bastla.

Grüße, Steffen
Bitte warten ..
Mitglied: bastla
14.11.2008 um 21:59 Uhr
@smerlin
Das würde so funktionieren ...

... wenn aber die Pfadbestandteile ohnehin als Parameter ankommen, dann einfach:
"C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" "%~1%~2"
Grüße
bastla
Bitte warten ..
Mitglied: bipede
15.11.2008 um 14:39 Uhr
Hallo und vielen Dank.

Habe es jetzt so gemacht:
01.
cd C:\Programme\Adobe\Reader 9.0\Reader 
02.
AcroRd32.exe "%~1\%~2.pdf"
Dabei sind die Variablen beispielsweise wie folgt belegt (diese werden beim Aufruf übergeben):
01.
%1 = "C:\Dokumente und Einstellungen\kuehner\Desktop\test" 
02.
%2 = "New"
Und
01.
"%~1\%~2.pdf"
liefert dann:
01.
"C:\Dokumente und Einstellungen\kuehner\Desktop\test\New.pdf"
Erlaubt mir eine Nachfrage: Werden dann mit
01.
"%~1%~2"
quasi Strings zusammengebaut?!

LEd ist übrigens ein LaTeX-Editor und ich wollte erreichen, dann nach dem Komplilieren automatisch das PDF geöffnet wird. Saugeil wäre es natürlich, wenn sich das batch merken würde, welche Seite zuvor geöffnet war und dann wieder dei gleiche Seite öffnet - aber das ist zuviel.

Grüße!
manu
Bitte warten ..
Mitglied: bastla
15.11.2008 um 14:51 Uhr
Hallo bipede!

Werden dann mit
"%~1%~2"
quasi Strings zusammengebaut?!
Jein; ein explizites "concat" benötigt Batch nicht - es können ganz einfach Variable und Konstante (wie Du es ja durch den Zusatz von ".pdf" schon selbst gemacht hast) ohne Weiteres zusammengeschrieben werden - durch die Anführungszeichen "zusammengebaut" (wenn Du das so nennen möchtest ) werden die einzelnen Teile wegen der Möglichkeit, dass Name oder Pfad Leerzeichen enthalten könnten.
Saugeil wäre es natürlich, wenn sich das batch merken würde, welche Seite zuvor geöffnet war und dann wieder dei gleiche Seite öffnet - aber das ist zuviel.
Wenn die Seitenzahl an Batch übergeben werden kann, wäre auch das "Merken" kein Problem - dazu könntest du einfach
set Seite>D:\Seitenzahl.txt
zum Zwischenspeichern der Variablen %Seite% bis zum nächsten Batchlauf und
for /f "delims=" %%i in (D:\Seitenzahl.txt) do set "%%i"
zum Einlesen verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: bipede
15.11.2008 um 15:03 Uhr
Hallo und abermals Danke!

Ich möchte die Hilfe nicht überstrapazieren, da ich ja nichts im Gegenzug bieten kann. In der Saugeil-Bemerkung habe ich mich unklar ausgedrückt - hier ein weiterer Versuch:

1. Ich kompiliere zum ersten Mal das TeX-Dokument und danach wird das Dokument im Adobe Reader geöffnet.
2. Ich ändere was im TeX-Code und kompiliere erneut.
3. Natürlich habe ich zuvor vergessen, den Adobe Reader zu schließen und TeX kann das PDF nicht erstellen.

Traum:

- Das Batch schließt den Reader und merkt sich die aktuelle Seite - dazu muss man mit dem Reader kommunizieren.
- Dann kompiliere ich das LaTeX-Dokument und öffne das PDF erneut und übergebe dabei dem Adobe Reader die zuvor geöffnete Seite als Parameter

01.
@rem You can put here any commands you want - this batch file can be executed from LEd's toolbar 
02.
@rem There are 3 parameters passed  to this batch: 
03.
@rem     %1 - <MAINFILEDIR> 
04.
@rem     %2 - <MAINFILENAME> 
05.
@rem     %3 - <MAINFILEDISK> 
06.
@rem You can also define in tex_cmd.gd file some additional parameters to be passed to this batch file. 
07.
 
08.
call "%PROGRAMFILES%\LEd\batches\bibtex.bat" %1 %2 %3 
09.
call "%PROGRAMFILES%\LEd\batches\pdflatex.bat" %1 %2 %3  
10.
call "%PROGRAMFILES%\LEd\batches\myAcrobat.bat" %1 %2 %3 
myAcrobat.bat:
01.
cd C:\Programme\Adobe\Reader 9.0\Reader 
02.
echo "%~1\%~2.pdf" 
03.
AcroRd32.exe "%~1\%~2.pdf"
Aber wie gesagt - das ist zuviel verlangt. So ist es auch schon super!

Es wäre zumindest nochmal besser, wenn ich mit dem Batch den Reader zuvor beenden könnte:

01.
@rem You can put here any commands you want - this batch file can be executed from LEd's toolbar 
02.
@rem There are 3 parameters passed  to this batch: 
03.
@rem     %1 - <MAINFILEDIR> 
04.
@rem     %2 - <MAINFILENAME> 
05.
@rem     %3 - <MAINFILEDISK> 
06.
@rem You can also define in tex_cmd.gd file some additional parameters to be passed to this batch file. 
07.
 
08.
-> Reader beenden bevor kompiliert wird.... 
09.
 
10.
call "%PROGRAMFILES%\LEd\batches\bibtex.bat" %1 %2 %3 
11.
call "%PROGRAMFILES%\LEd\batches\pdflatex.bat" %1 %2 %3  
12.
call "%PROGRAMFILES%\LEd\batches\myAcrobat.bat" %1 %2 %3 
Grüße
manu
Bitte warten ..
Mitglied: bastla
15.11.2008 um 15:18 Uhr
Hallo bipede!
dazu muss man mit dem Reader kommunizieren.
... was native Batch IMHO nicht kann (deshalb auch meine Einschränkung oben: Wenn die Seitenzahl an Batch übergeben werden kann) ...

Es wäre zumindest nochmal besser, wenn ich mit dem Batch den Reader zuvor beenden könnte:
Soferne "taskkill" verfügbar ist (ab XP):
taskkill /F /IM AcroRd32.exe
Den Namen des Prozesses kannst Du im Fall des Falles über "tasklist" herausfinden.

Grüße
bastla
Bitte warten ..
Mitglied: bipede
15.11.2008 um 15:20 Uhr
Danke bastla - funktioniert super!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Auswahl zweier Variablen zu einer zusammenführen

Frage von complexBatch & Shell5 Kommentare

Moin miteinander, und wieder eine Frage bezüglich Powershell: Ich habe das Problem, dass ich gerade an einem script arbeite, ...

VB for Applications

ComboBox mit Variabler aus Makro verknüpfen

gelöst Frage von AnrionVB for Applications5 Kommentare

Hallo Forum, Ich stocke momentan an einer Aufgabe: Ich habe eine Combobox (Bild unten angehängt), welche mit den Items ...

Batch & Shell

Powershell: Variable in Pfad einbauen

gelöst Frage von ThunderbirdOPBatch & Shell2 Kommentare

Hallo Leute, ich würde gerne eine Variable in einen Pfad einsetzen, bekomme aber immer den Fehler zurück, dass der ...

Batch & Shell

Umbennen in variablen Pfad

Frage von bytetixBatch & Shell12 Kommentare

Hallo, ich habe ein kleines Skript, dem gebe ich als Parameter Pfad1 und Pfad2 mit. Das Skript kopiert dann ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 20 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 20 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 1 TagSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
gelöst Frage von YellowcakeExchange Server23 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...

LAN, WAN, Wireless
Gigabit-Lan mit zwei 4-adrigen Kabeln?
Frage von ArvedirmerLAN, WAN, Wireless11 Kommentare

Ich habe folgendes Problem: Ich betreue eine kleine Firma die sich im 1.Stock eines Gebäudes befindet. Es existiert ein ...

Router & Routing
Routing Probleme mit Firewall
gelöst Frage von mb1811Router & Routing9 Kommentare

Hallo Zusammen! Ich habe folgende Problematik, wo ich ein wenig Input benötige: Gem. angehängter Skizze habe ich folgenden Stand: ...