Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di yarea
    Registrato dal
    Apr 2004
    Messaggi
    62

    Lanciare riga di comando da shell

    Buongiorno a tutti,
    sto cercando di fare scrivere dei comandi sulla shell tramite visual basic, ma non riesco.
    Fino ad ora sono solo riuscita ad aprire in automatico la finestra del prompt.

    Public Sub Test_Shell()
    Dim NomeProg, Test, NomeCom
    NomeProg = "C:\Programmi\WinZip\WINZIP32.EXE"
    Test = Shell(NomeProg, 1)

    End Sub

    Prima avevo messo al posto di winzip il cmd.exe, per cui apriva il prompt.
    Ma se io volessi fare eseguire delle linee di codice dos, es. "dir" come si fa?

    Avevo provato così, ma niente:
    Test = Shell(NomeProg + " " + NomeCom + " ", 1)

    Qualcuno per caso può aiutarmi?
    Grazie!

    Dany

  2. #2

    Maledetto comando Shell

    Se può aiutarti (almeno in parte), io ho lo stesso problema.
    Facendo esperimenti ho notato che SHELL funziona per i comandi di sistema operativo solo in certi casi ...
    A me ha funzionato per il caso di NET SEND con queste righe:

    Messaggio = "Prova"
    Indirizzo_IP = "xx.xx.xx.xx"
    Comando = "net send " & Indirizzo_IP & " " & Messaggio
    Shell Comando, vbHide

    Invece (ed è il mio caso sfortunato) con il comando PING non va ... addirittura non conosco un modo per sapere se il comando è andato a buon fine o meno (scopo del PING).

    Se hai installato l'MSDN (l'help di Visual) cerca il comando SendKeys per inviare una sequenza di tasti all'applicazione attiva (credo che funzioni anche con il CMD).

    Aiutate anche me a pingare con successo.


    Lorenzo

  3. #3
    Utente di HTML.it L'avatar di yarea
    Registrato dal
    Apr 2004
    Messaggi
    62
    Questa shell è un vero problema...
    Alla fine sono riuscita a inviare una riga di codice, ma perchè l'ho copiata paro paro da un altro codice dove funzionava...
    Forse il problema del ping dipende dal fatto che deve tornare indietro qualcosa (la risposta), però non so davvero aiutarti in questo...
    Grazie mille!
    Dany

  4. #4
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    potresti provare in questo modo:

    Shell "cmd /C [comando]"

    se vuoi puoi anche far finire su un file di testo l'eventuale otput del tuo comando, ad esempio se fai un Dir, puoi ottenere la lista su un file di testo, così:

    Shell "cmd /C Dir *.* >C:\testo.txt"

    Boolean

  5. #5

    Circa meno quasi

    Effettivamente questo risolve il mio problema; avevo già pensato all'uscita su file, ma mi scoccia un po' perchè devo pingare una lunga lista di hosts e dovrei far creare altrettanti files da analizzare (fortuna che esistono i FOR), allungando i tempi. Comunque, allo stato attuale delle cose, questo è il sistema migliore.

    Grazie Boolean.
    Ciao Dany

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.