Формат для нескольких команд замены - PullRequest
0 голосов
/ 24 мая 2011

Допустим, у меня это есть в оболочке

"chdir * && whoami.exe >> $$$"

У меня есть команда replace

Dim ReplaceCommand as String = sCommand.Replace("*", UserDirect)

Я также хотел бы заменить $$$ на выбранный пользователем путь к файлу.Я могу выбрать выбранный путь к файлу, но он никогда не помещает его в оболочку.

Я пытался

Dim ReplaceCommand1, ReplaceCommand2 as String = sCommand.Replace("*" & "$$$", UserDirect & filepath)
Shell("cmd.exe" & ReplaceCommand1 & ReplaceCommand2)

Dim ReplaceCommand as String = sCommand.Replace("*", UserDirect) & ("$$$", filepath)
Shell("cmd.exe" & ReplaceCommand)

также

Dim ReplaceCommand1 as String = sCommand.Replace("*", UserDirect)
Dim ReplaceCommand2 as String = sCommand.Replace("$$$", filepath)
Shell("cmd.exe" & ReplaceCommand1 & ReplaceCommand2)

РЕДАКТИРОВАТЬ: получить путь ккороткая ошибка, когда я использую запятые в оболочке вместо &

Dim ReplaceCommand1 as String = sCommand.Replace("*", UserDirect)
Dim ReplaceCommand2 as String = sCommand.Replace("$$$", filepath)
Shell("cmd.exe", ReplaceCommand1 , ReplaceCommand2)

Ответы [ 2 ]

0 голосов
/ 24 мая 2011

Вы можете связать Замены вместе:

Dim ReplaceCommand1 as String = sCommand.Replace("*", UserDirect).Replace("$$$", filepath)
Shell("cmd.exe" & ReplaceCommand1)
0 голосов
/ 24 мая 2011

Часть ваших примеров не компилирует причину синтаксических ошибок.

Вы не используете Shell () так, как должны.

Public Function Shell(
    PathName As String,
    Optional Style As Microsoft.VisualBasic.AppWinStyle = MinimizedFocus,
    Optional Wait As Boolean = False,
    Optional Timeout As Integer = -1
) As Integer

Из приведенных вами примеров похоже, что вы просто складываете вещи вместе. Остановись и подумай минутку:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...