Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Eseguire operazioni con cmd
Forum - C# / VB.NET - Eseguire operazioni con cmd

Avatar
Piso94 (Normal User)
Rookie


Messaggi: 53
Iscritto: 08/07/2008

Segnala al moderatore
Postato alle 19:45
Venerdì, 17/04/2009
Salve a tutti vorrei far eseguire ad un programma un'operazione con il cmd io ho provato a fare così:
Dim x as string
x = ("cmd.exe" & "copy/b" & txtpathimg.Text & txtpathfile.Text & txtpathimgfile.Text)
shell(x)
Ma qunado lo eseguo mi dice errore impossibile trovare il file
vi prego potete aiutarmi
:hail::hail:
Spero di essere stato abbastanza chiaro :k::k:

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:10
Venerdì, 17/04/2009
Credo che tu debba mettere tutto il percorso, ma in definitiva mi sembra inutile perchè già Shell richiama automaticamente cmd. Quindi dovrebbe bastare usare solo "copy ..."

PM Quote
Avatar
Piso94 (Normal User)
Rookie


Messaggi: 53
Iscritto: 08/07/2008

Segnala al moderatore
Postato alle 20:38
Venerdì, 17/04/2009
Scusa ma se io faccio come mi dici te cioè metto:
Dim x as string
x = ("copy/b " & "I:\1.jpg" & " + " & "I:\prova.rar" & "I:\prova.jpg")
Shell(x)
Mi esce sempre l'errore di prima cioè Impossibile trovare il file...


Piso94 ha allegato un file: errore.jpg (43786 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 21:54
Venerdì, 17/04/2009
Ma perche' non scrivi una sola stringa ?

Codice sorgente - presumibilmente C# / VB.NET

  1. Dim x As String
  2.         x = ("cmd /K copy /b I:\1.jpg+I:\prova.rar I:\prova.jpg")
  3.         Shell(x)



e perche' non usi le classi di IO per la gestione dei file del VB.NET invece di usare dei comandi del DOS??

PM Quote
Avatar
Piso94 (Normal User)
Rookie


Messaggi: 53
Iscritto: 08/07/2008

Segnala al moderatore
Postato alle 19:49
Sabato, 18/04/2009
Potresti dirmi come fare senza i comandi DOS????
Grazie comunque a tutti per le risposte :k::k::k::k:

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 21:31
Sabato, 18/04/2009
Ecco qualche riga buttata giu' senza tante ottimizzazioni ...

Codice sorgente - presumibilmente VB.NET

  1. Dim fsout As FileStream
  2.         Dim fsin As FileStream
  3.         Dim bw As BinaryWriter
  4.         Dim br As BinaryReader
  5.  
  6.         fsout = New FileStream("I:\prova.jpg", FileMode.Create)
  7.         bw = New BinaryWriter(fsout)
  8.  
  9.         fsin = New FileStream("I:\1.jpg", FileMode.Open, FileAccess.Read)
  10.         br = New BinaryReader(fsin)
  11.         bw.Write(br.ReadBytes(fsin.Length))
  12.         br.Close()
  13.         fsin.Close()
  14.  
  15.         fsin = New FileStream("I:\prova.rar", FileMode.Open, FileAccess.Read)
  16.         br = New BinaryReader(fsin)
  17.         bw.Write(br.ReadBytes(fsin.Length))
  18.         br.Close()
  19.         fsin.Close()
  20.  
  21.         bw.Close()
  22.         fsout.Close()


PM Quote
Avatar
Piso94 (Normal User)
Rookie


Messaggi: 53
Iscritto: 08/07/2008

Segnala al moderatore
Postato alle 23:35
Sabato, 18/04/2009
Grazie mille :k::k::k::k:

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:15
Domenica, 19/04/2009
Oppure: IO.File.Copy("vecchio file", "nuovo file").

PM Quote