Пользователь, определяющий переменную в пакетном файле - PullRequest
0 голосов
/ 31 мая 2019

В принципе, я не знаю, можно ли заставить пользователя определять переменную. Это означает, что пользователь может вставить каталог, а затем пакетный файл адаптируется к этому каталогу.

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

У меня есть все, кроме того, что пользователь может установить каталог. Вот код, который я имею в виду, поскольку я сказал, что единственная недостающая часть - это остальное.

if exist directory (
    do everything normally
) else (
    let the user decided the directory
)

1 Ответ

0 голосов
/ 02 июня 2019

(Перевод с французского)

Привет, я думаю, я знаю, как я могу помочь вам, если я правильно понимаю, вы хотите, чтобы пользователь указал каталог, в котором будут находиться файлыскачал.Итак:

set /p varia="> " return > _ и вы можете ввести свой каталог

NB: varia - это переменная, в которую будет записан результат

"> " будет текстом, отображаемым до ввода пользователем

В противном случае вот один из моих любимых методов:

echo Option Explicit > pppfolder.vbs
echo Dim strPath >> pppfolder.vbs
echo strPath = SelectFolder( "" ) >> pppfolder.vbs
echo If strPath = vbNull Then >> pppfolder.vbs
echo WScript.Echo "false" >> pppfolder.vbs
echo Else >> pppfolder.vbs
echo WScript.Echo strPath >> pppfolder.vbs
echo End If >> pppfolder.vbs
echo Function SelectFolder( myStartFolder ) >> pppfolder.vbs
echo Dim objFolder, objItem, objShell >> pppfolder.vbs
echo On Error Resume Next >> pppfolder.vbs
echo SelectFolder = vbNull >> pppfolder.vbs
echo Set objShell  = CreateObject( "Shell.Application" ) >> pppfolder.vbs
echo Set objFolder = objShell.BrowseForFolder( 0, "%~2", 0, myStartFolder ) >> pppfolder.vbs
echo If IsObject( objfolder ) Then SelectFolder = objFolder.Self.Path >> pppfolder.vbs
echo Set objFolder = Nothing >> pppfolder.vbs
echo Set objshell  = Nothing >> pppfolder.vbs
echo On Error Goto 0 >> pppfolder.vbs
echo End Function >> pppfolder.vbs
for /F "tokens=*" %%A in ('CSCRIPT.EXE //NoLogo pppfolder.vbs') do set result=%%A
del pppfolder.vbs

Каталог будет в% результате% (если нажать кнопку CANCEL, результат будет none, иначе это будет каталог)

Результат

НадеюсьЯ ответил на ваш вопрос.;')

Ясин

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