Discussione:
Numero di parametri
(troppo vecchio per rispondere)
Febo
2007-10-13 23:41:15 UTC
Permalink
Ciao a tutti.
Il batch "suona2p.bat" cerca nel file "MP3eWMA.txt" due stringhe passate
come parametri.
"suona2p Dire Straits" trova tutte le righe con Dire Straits e le scrive nel
file Dire_Straits.m3u
___________________________________
@echo off
rem suona2p.bat
find /i "%1 %2" < MP3eWMA.txt > %1_%2.m3u
start %1_%2.m3u
___________________________________

Se cercassi "Everything but the girl" avrei bisogno di quattro parametri
___________________________________
@echo off
rem suona4p.bat
find /i "%1 %2 %3 %4" < MP3eWMA.txt > %1_%2_%3_%4.m3u
start %1_%2_%3_%4.m3u
___________________________________

Il mio problema è che vorrei usare un solo batch che riconoscesse il numero
dei parametri e si comportasse di conseguenza.

Ho fatto vari tentativi con if stdin e poi goto ma non riesco a scrivere
niente che funzioni.
Gentilmente, qualcuno ha un suggerimento?
DøctøR_DøøM
2007-10-14 09:19:46 UTC
Permalink
Post by Febo
Ciao a tutti.
Il batch "suona2p.bat" cerca nel file "MP3eWMA.txt" due stringhe passate
come parametri.
"suona2p Dire Straits" trova tutte le righe con Dire Straits e le scrive nel
file Dire_Straits.m3u
___________________________________
@echo off
rem suona2p.bat
find /i "%1 %2" < MP3eWMA.txt > %1_%2.m3u
start %1_%2.m3u
___________________________________
Se cercassi "Everything but the girl" avrei bisogno di quattro parametri
___________________________________
@echo off
rem suona4p.bat
find /i "%1 %2 %3 %4" < MP3eWMA.txt > %1_%2_%3_%4.m3u
start %1_%2_%3_%4.m3u
___________________________________
Il mio problema è che vorrei usare un solo batch che riconoscesse il numero
dei parametri e si comportasse di conseguenza.
Ho fatto vari tentativi con if stdin e poi goto ma non riesco a scrivere
niente che funzioni.
Gentilmente, qualcuno ha un suggerimento?
Se fai riferimento (come nel post precedente) a Windows Xp, puoi usare %* (che
sostituisce tutti i parametri, quindi find "%*").

Diversamente, dovresti servirti di una variabile d'ambiente e del comando shift
(in modo tale da acquisire tutti i parametri).

Ciao
Febo
2007-10-15 21:18:58 UTC
Permalink
Post by DøctøR_DøøM
Se fai riferimento (come nel post precedente) a Windows Xp, puoi usare %* (che
sostituisce tutti i parametri, quindi find "%*").
Diversamente, dovresti servirti di una variabile d'ambiente e del comando shift
(in modo tale da acquisire tutti i parametri).
Ciao
* era quello che ci voleva!
non avevo pensato di usarlo come carattere jolly anche nei parametri.
ti ringrazio molto.
ciao

Loading...