Domanda

sto usando Process.Start per eseguire Convert.exe. Lo scopo di questo programma è quello di convertire tutti i file che sono nella cartella del exe. Così, quando ho normalmente uso, copio incollare un file nella stessa cartella di Convert.exe e quindi eseguire Convert.exe. Convert.exe creerà una nuova "convertito" file nella stessa cartella.

Sto cercando di automatizzare questo processo noioso. Un utente seleziona un file che deve essere convertito dal FolderA, copio nella stessa cartella in cui è Convert.exe e sto usando Process.Start (Convert.exe) per eseguirlo. Giusto per essere chiari, questo "Convert.exe" non accetta argomenti.

Il problema: "Convert.exe" non è la conversione dei file nella sua cartella. Invece è la conversione di tutti i file in FolderA per qualche strana ragione. Non so il motivo per cui raccolse quella cartella, non ho mai nemmeno provato a inviarlo come argomento o niente.

Ecco il codice che ho:

Dim techInfo As New System.IO.FileInfo(itm.strFilePath)             
techInfo.CopyTo(ConverterPath & techInfo.Name)

Dim procInfoConvert As New ProcessStartInfo
procInfoConvert.CreateNoWindow = False
procInfoConvert.Arguments = ""
procInfoConvert.FileName = ConverterPath & "Convert.exe"

Dim procConvert As Process = Process.Start(procInfoConvert)

Ho fatto una prova in cui ho copia incollato un file nella cartella "Convert.exe" e poi basta eseguire questo codice:

process.start(ConverterPath & "Convert.exe")

Il rendimento exe nulla, come se non ci fosse nessun file nella cartella.

L'unica cosa che mi viene in mente è che quando Process.Start viene eseguito, copia il file in un'altra posizione e corre da lì.

Tutte le idee a qualcuno?

È stato utile?

Soluzione

Prova questo:

procInfoConvert.WorkingDirectory = ConverterPath

Che verrà impostato il processo fino a iniziare nella directory è contenuta in, invece che nella directory corrente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top