Извините, если это спрашивали раньше, я обнаружил, что другие решения слишком сложны для меня. В любом случае, я пытаюсь найти изображение с помощью cmd в коде Visual Basic и сохранить путь изображения в строку, но я не могу захватить вывод из cmd справа. Любая помощь будет оценена, спасибо!.
Код:
Dim imageLocation As String
Dim cmd As New Process
Dim SR As System.IO.StreamReader
cmd.StartInfo.FileName = "cmd.exe"
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
cmd.StartInfo.Arguments = "/C dir /b/s Roey.png"
cmd.Start()
SR = cmd.StandardOutput
imageLocation = SR.ReadLine
ОБНОВЛЕНО Итак, я обнаружил, что сохранение вывода в текстовый файл, а затем чтение может быть более простым, поэтому я написал следующий код:
Dim cmd As New Process
cmd.StartInfo.FileName = "cmd.exe"
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
cmd.StartInfo.Arguments = "/C dir /b/s Roey.png >
C:\Users\ירין\Desktop\Roeyyy\path.txt"
cmd.Start()
cmd.WaitForExit()
когда я запускаю
"dir /b/s Roey.png >
C:\Users\ירין\Desktop\Roeyyy\path.txt"
на CMD работает отлично, так почему здесь не работает? :(
"/C dir /b/s Roey.png"
=> это должно быть"/C Roey.png dir /B /S"
..StartInfo.WorkingDirectory = [SomePath]
=> Укажите Каталог, с которого следует начать перечисление..StartInfo.RedirectStandardOutput = True
=› Для этого нужно перенаправитьStdOut
=›.StartInfo.UseShellExecute = False
, потому что по умолчанию стоитTrue
и это не сработает.Dim SR As StreamReader = cmd.StandardOutput
While (imageLocation = String.Empty) imageLocation = SR.ReadLine End While
. Склонен к ошибкам. ИспользуйтеDirectory.GetFiles()
илиDirectory.EnumeratetFiles()
. - person Jimi   schedule 07.10.2018CMD.EXE
– это Программа. Он интерпретирует команды и выполняет процедуру. Что ты должен делать. Одна строка для замены всего этого:Dim MyFilePath As String = Directory.GetFiles([SomePath], "*.png", SearchOption.AllDirectories).Where(Function(f) f.Contains("Roey.png")).FirstOrDefault()
, где[SomePath]
— это базовый каталог для перечисления. ==› В первом комментарии есть ошибка: Должно быть: /C dir Roey.png /B /S - person Jimi   schedule 08.10.2018