Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea
echo %1 > c:\voorbeeld.txt
Mnee, hiermee zet je het eerste argument in voorbeeld.txt.Tp21 schreef op 22 februari 2004 @ 16:26:
gebruik %1 op de plek waar je je invoer wilt hebben zoals.
echo %1 > c:\voorbeeld.txt
Dus stel je roept aan:
1
| mybat.bat foo bar |
Dan wordt 'foo' in voorbeeld.txt gezet. Dat moet ik niet hebben. Ik moet de output van programma 1 als input van programma 2 (het batchbestand) hebben.
Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea
dit is maar een voorbeeld!MUBA schreef op 22 februari 2004 @ 16:34:
[...]
Mnee, hiermee zet je het eerste argument in voorbeeld.txt.
Dus stel je roept aan:
code:
1 mybat.bat foo bar
Dan wordt 'foo' in voorbeeld.txt gezet. Dat moet ik niet hebben. Ik moet de output van programma 1 als input van programma 2 (het batchbestand) hebben.
maar %1 is het eerste argument %2 het tweede, daar kun je verder alles mee doen. in een bestand zetten etc,
of bedoel je het > en >> teken?
gewoon echo %1 kan krijg je je input op het scherm
[ Voor 31% gewijzigd door Tp21 op 22-02-2004 16:40 ]
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)
Hmmm.. het lijkt zo goed als onmogelijk te zijn (zeker een oplossing die zowel in NT als in 95/98 werkt) zonder een externe utility als senvar
[ Voor 36% gewijzigd door Spider.007 op 22-02-2004 17:21 ]
---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate
Nee, niet het > en >> teken, geen arguments met %1..%9, maar gewoon een sluis ( | )Tp21 schreef op 22 februari 2004 @ 16:35:
[...]
dit is maar een voorbeeld!
maar %1 is het eerste argument %2 het tweede, daar kun je verder alles mee doen. in een bestand zetten etc,
of bedoel je het > en >> teken?
gewoon echo %1 kan krijg je je input op het scherm
Wat jij zegt werkt namelijk echt niet:
1
2
3
4
5
6
7
8
9
10
11
12
| D:\>type text.txt Dit is een voorbeeld textbestandje Mehh Foo Bar D:\>type input.bat @echo off echo %1 D:\>type text.txt | input.bat ECHO is ingesteld op uit. D:\> |
Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea
Heb gekeken, ook de oude faq, maar kan zo'n link niet vinden, helaas...F_J_K schreef op 22 februari 2004 @ 17:00:
Je zult even willen kijken naar de FOR opdracht (al weet ik niet precies meer wat wel en wat niet wordt ondersteund door 9x, zie de SA FAQ voor een linkje naar de site van bijv. rob vd woude)
Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea
Hmm, dat senvar lijkt me wel ok!Spider.007 schreef op 22 februari 2004 @ 17:13:
Ik begrijp wat je wiltKun je de pipe niet gebruiken door de stdin op te vragen; volgens mij stuurt Windows namelijk daar de data naartoe
Ik zal hier ook eens gaan experimenteren
Hmmm.. het lijkt zo goed als onmogelijk te zijn (zeker een oplossing die zowel in NT als in 95/98 werkt) zonder een externe utility als senvar
Alleen nog even een work-around scriptje maken dat alles dan goed afhandeld, maar ik denk dat ik hier best ver mee ga komen. Ok, nu eerst ff telefoneren met mn vriendin en dan die code ff door debug trekken. Thanx!
Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea
MUBA schreef op 22 februari 2004 @ 18:57:
Heb gekeken, ook de oude faq, maar kan zo'n link niet vinden, helaas...
SA FAQ: MS-DOS commando's en batch scripts, meteen de eerste geeft een mooie uitleg
Overigens is de edit knop (
Maar goed, senvar is een optie ja
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)
Waarschijnlijk houdt mijn plan hier op, of moet ik het batch-gedeelte overslaan en rechtstreeks in Perl gaan werken. Dat is op zich geen probleem, behalve dat je dan aanroepen krijgt als 'eenofandereopdracht.exe | perl d:\heel\lang\path\naar\het\script.pl', terwijl het ook gewoon met 'eenofandereopdracht.exe | batch.bat' zou kunnen (heb windows 98 en dus niet de mogelijkheid om '.pl' bestanden aan Perl te binden voor de command prompt.
Maar goed.. Het moet maar dan. Toch bedankt!
Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea
Verwijderd
je kan wel een ini bestandje gebruiken hoor...MUBA schreef op 22 februari 2004 @ 14:51:
Hoi. Ik wil iets heel simpels doen, maar het lijkt welhaast onmogelijk.
Iedereen zal de volgende regel wel enigzins bekend voorkomen:
code:
1 type text.txt | more
Nou wil ik een batch-bestand maken die ook op deze manier gegevens kan ontvangen:
code:
1 type text.txt | mybat.bat
Deze opdracht werkt natuurlijk wel, maar hoe kan ik vanuit mybat.bat zien wat er naartoe gepiped is? Kan dat uberhaubt wel?
Even voor alle duidelijkheid: het batch-bestand zelf doet niets met de invoer, maar moet het doorgeven aan een paar perl-scriptjes.
1
2
3
4
5
6
7
8
9
10
11
12
| ini (test.ini):
[setup]=test
[config]=test1
batch:
@echo off
echo start
for /f "tokens=2 delims==" %%a in ('find /i "[setup]" test.ini') do set setup=%%a
for /f "tokens=2 delims==" %%a in ('find /i "[config]" test.ini') do set config=%%a
echo %setup%
echo %config%
echo end |
succes
edit: ik zie net dat dit over w98 gaat. geen idee of dit werkt. het werkt iig op nt producten
[ Voor 9% gewijzigd door Verwijderd op 23-02-2004 14:39 ]