PDA

View Full Version : Comandi DOS


dr-omega
15-07-2010, 11:03
Spero che la sezione sia corretta...:D

Ciao, sto cercando di far partire alcuni servizi tramite comando batch in un portatile con Win2000 e poca ram.

Con i servizi che si trovano in percorsi "senza spazio" non ho problemi, mentre nel caso in cui gli eseguibili si trovano ad esempio in un percorso tipo "C:\Programmi\File comuni\..." lo spazio tra "file" e "comuni" mi spezza la stringa e mi viene restituito un errore del genere ""C:\Programmi\File" non è riconosciuto come comando, ecc ecc":fagiano:

So che forse si possono usare i caratteri speciali come il %, ma questo mi unisce "Filecomuni" e così il percorso risulta comunque sbagliato.:muro:

C'è qualche anima pia che mi può aiutare?:help:

tangerinedream
15-07-2010, 12:27
Devi inserire l'intero percorso tra doppie virgolette ( " ) ...;)

dr-omega
15-07-2010, 12:59
Ok grazie, così funziona, ma a questo punto ho un altro problema...:stordita:

L'eseguibilie di cui sopra ha uno switch (es. pippo.exe -startdb) che genera errori sia se infilo tutto tra le virgolette, sia se lo lascio fuori....:doh:

1) "C:\Programmi\File comuni\pippo.exe -startdb" -> così mi dice che non è riconosciuto come comando
2) "C:\Programmi\File comuni\pippo.exe" -startdb -> così forse il programma viene eseguito ma il batch si blocca e non si chiude da solo tramite il comando exit
1b) start "C:\Programmi\File comuni\pippo.exe -startdb" -> così mi apre una seconda finestra dos
2b) start "C:\Programmi\File comuni\pippo.exe" -startdb -> impossibile trovare il file "-startDB"

La mia faccia->:confused:

tangerinedream
15-07-2010, 15:49
Che io sappia le opzioni vanno inserite fuori dalle virgolette, quindi è buona la numero 2
Per chiudere la finestra DOS inserisci un exit alla fine del tuo file batch, da verificare ovviamente che il tuo eseguibile venga correttamente avviato... :D

dr-omega
15-07-2010, 16:11
Che io sappia le opzioni vanno inserite fuori dalle virgolette, quindi è buona la numero 2
Per chiudere la finestra DOS inserisci un exit alla fine del tuo file batch, da verificare ovviamente che il tuo eseguibile venga correttamente avviato... :D


Infatti il mio dubbio è proprio perchè il programma tramite l'opzione 2) viene avviato, ma per qualche motivo che ignoro non consente al comando exit di chiudere la finestra.:mbe:

Raffaele53
15-07-2010, 16:16
Creare Bat (files TXT rinominati in BAT)
CD\
CD Programmi\File comuni
pippo.exe -startdb
Pause o Exit

AMIGASYSTEM
15-07-2010, 22:41
Meglio se:

CD\
CD Programmi
CD File comuni
pippo.exe -startdb
Pause o Exit

AMIGASYSTEM
15-07-2010, 22:41
Adesso non ricordo che DOS utilizza Win2000,perchè alcune versioni DOS non supportono oltre agli spazi,anche i nomi lunghi,poi c'è da considerare il filesistem se NTFS o FAT32

Esempio Un valore Long Filename.TXT
Questo viene convertito ALONGF~1.TXT perché il nome del file contiene più di 8 caratteri.

Andreainside
15-07-2010, 22:51
windows 2000 ha una emulazione del dos, dovrebbe essere il dos 5 su un 8086
cmd non ha problemi con i nomi lunghi
command si

Raffaele53
16-07-2010, 06:29
dovrebbe essere il dos 5
Mi sembra poco, dovrebbe essere dopo il sei e prima del sette

c'è da considerare il filesistem se NTFS o FAT32
Credo sia inifluente

La famosa ~ , ma non cambia nulla perchè invece di scrivere PROGRAMMI (9 caratteri). Si entra nella finestra DOS e si invia CD\ e subito dopo DIR
Basta scrivere la cartella nel modo che la si visualizza. EX PROGRAM~

dr-omega
16-07-2010, 07:45
Ciao, Win2000 usa il Dos 5, il mio problema attuale è che il comando "C:\Programmi\File comuni\pippo.exe" -startdb viene eseguito, ma la finestra dos rimane aperta nonostante il comando exit presente alla riga successiva.

Stesso discorso se eseguo questo:cd\programmi\file comuni\Pluto
pippo.exe -startdb
exit

L'esecuzione dello script viene fermata prima di chiudere con "Exit".

dr-omega
16-07-2010, 08:01
Risolto! :D

Basta usare lo "start" in questo modo:cd\programmi\file comuni\Pluto
start pippo.exe -startdb
exit

Il batch avvia e poi chiude la finestra con exit.

Ora si che mi piace! :cool: