Es ist wahrscheinlich trivial aber ich habe das bisher noch nie gebraucht. Wie kann man TC-Parameter an eine CMD-Datei durchreichen so dass sie dann dort wieder verwendet werden können?
Und noch was: Wie kann ich einen Parameter an ein Programm übergeben, dass diesen dann zusammen mit einem anderen Text in eine Datei schreibt. Also etwa so:
1=PARAMETER
2=Nein
3=Ja
(Es ist keine INI und ich habe gerade keien Lust auf programmieren)
Parameter durchreichen
Moderators: Hacker, Stefan2, white
Damit meinst du, dass die Parameter, z.B. %L, unverändert in der CMD ankommen? Das wird wohl nicht funktionieren, weil TC die Parameter ja bereits ersetzt. Man müsste zwischen dem % und dem Buchstaben schon irgendein Zeichen setzen, damit TC die Ersetzung unterlässt; was logischerweise bedeutet, später dieses Zeichen wieder herauszufiltern.Wie kann man TC-Parameter an eine CMD-Datei durchreichen so dass sie dann dort wieder verwendet werden können?
Meinst du wirklich ein Programm oder doch eher ein Skript? Jedes davon muss natürlich entsprechend geschrieben sein, damit es das tut. Mit einem CMD würde ich das so machen:Wie kann ich einen Parameter an ein Programm übergeben, dass diesen dann zusammen mit einem anderen Text in eine Datei schreibt.
Code: Select all
(echo 1=%1
echo 2=%2
echo 3=%3
)>datei
Wenn ich was falsch verstanden haben sollte, so bitte ich um nähere Erklärung

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Dann verstehe ich das Problem nicht ganz *grübel*. Mit %1 bis %9 greift man auf die ersten 9 Parameter zu, mit %0 auf die CMD selbst und mit %* kommt man an alle Parameter ran, wie sie übergeben wurden.Lefteous wrote:Nein natürlich kann der TC sie gerne schon expandieren. Solange ich in der CMD auf den Wert so zugreifen kann, dass Platzhalter ersetzt werden, ist alles ok.Damit meinst du, dass die Parameter, z.B. %L, unverändert in der CMD ankommen?
Falls ich das Problem immernoch nicht erfasst haben sollte (bzw. dir meine Antwort nicht ausreicht), könnte ein Beispiel hilfreich sein, oder eine nähere Erklärung, was erreicht werden soll.
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
- sqa_wizard
- Power Member
- Posts: 3893
- Joined: 2003-02-06, 11:41 UTC
- Location: Germany
2Dalai
2sqa_wizard
Danke für euren ganzen Tipps. Es klappt jetzt alles ganz prima. Ich kenne mich mit CMD-Dateien und diesem ganzen Kram nicht wirklich aus.
Hier das fertige Skript, vielleicht haben andere ähnliche Aufgaben:
2sqa_wizard
Danke für euren ganzen Tipps. Es klappt jetzt alles ganz prima. Ich kenne mich mit CMD-Dateien und diesem ganzen Kram nicht wirklich aus.
Hier das fertige Skript, vielleicht haben andere ähnliche Aufgaben:
Code: Select all
(echo Path=".\%~3"
echo Setup=index.html
echo Silent=1
echo Update=U
echo Overwrite=1
)> "%USERPROFILE%\Cmdline\Unpack.txt"
"%PROGRAMFILES%\WinRAR\WinRAR.exe" a -sfx -r -ep1 -z"%USERPROFILE%\Cmdline\unpack.txt" %1 %2\*.*
Tip: Benutze sicherheitshalber immer Anführungszeichen um die Parameter, falls diese Leerzeichen enthalten sollten. D.h. aus deinem %1 müsste sinnvollerweise "%~1" werden, inkl. Anführungszeichen; analog natürlich für %2 usw.
MfG Dalai
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror