CMD/BAT - [решено] Выбор из списка с выводом на экран. Можно такое написать?

Ответить
Аватара пользователя
luda-chel

CMD/BAT - [решено] Выбор из списка с выводом на экран. Можно такое написать?

Сообщение luda-chel »

Здравствуйте Всем!!!! Подскажите как можно в бат файле прописать следующее:

1.Заходим на диск в сети.

2. Из множества папок выбрать нужную.

3. Записать к себе на диск.

(это мне необходимо для автоматизации установки программы. Но в зависимости от роли пользователя ему нужна для работы программы только 1 папка). Подробнее:

Чтобы во время выполнения бат файла выводилось на экран:

"Выберите нужную цифру".

И предлагалось список:

1 - ПапкаA

2 - ПапкаВ

3 - ПапкаС и т.д. список небольшой.

И я с экрана вводила цифру нужной мне папки. Например после вопроса ввожу цифру 2.

Тогда программа идет в "ПапкаВ" и оттуда берет файл и пишет его на диск пользователя.

Начало (если зайти удаленно на комп пользователя):

mkdir c:\АРМ - создаст на диске С папку АРМ

xcopy "c:\2" "c:\АРМ" /e/c/h/n/y/ где c:\2 - откуда берет и куда пишет: c:\АРМ

далее нужно зайти в сеть на сервер в указанную директорию и выбрать там папку нужную для пользователя, т.е. сделать то что я пыталась обяъснить выше.

Кто нибудь может помочь новичку!!!! ОЧЕНЬ ОЧЕНЬ нужна ПОМОЩЬ!!!
Аватара пользователя
Iska

Re: CMD/BAT - [решено] Выбор из списка с выводом на экран. Можно такое написать?

Сообщение Iska »

Цитата luda-chel:



Чтобы во время выполнения бат файла выводилось на экран:

"Выберите нужную цифру".

И предлагалось список:

1 - ПапкаA

2 - ПапкаВ

3 - ПапкаС и т.д. список небольшой.
CMD/BAT - [решено] Выбор из списка с выводом на экран. Можно такое написать?




Choice
Аватара пользователя
ratibor79

Re: CMD/BAT - [решено] Выбор из списка с выводом на экран. Можно такое написать?

Сообщение ratibor79 »

ну или вот то что написали Вам товарищи Iska и ratibor79:





Код:

Код: Выделить всё

@Echo off
:m1
cls
Echo ‚лЎҐаЁвҐ Їа®Ја*¬¬г:
Echo.
Echo 1 - Џа®Ја*¬¬* 1
Echo 2 - Џа®Ја*¬¬* 2
Echo 3 - Џа®Ја*¬¬* 3
echo.
Set /p choice="‚*и ўлЎ®а: "
if not defined choice goto m1
if "%choice%"=="1" (
	echo ваш код
	echo ваш код
)
if "%choice%"=="2" (
	echo ваш код
	echo ваш код
)
if "%choice%"=="3"  (
	echo ваш код
	echo ваш код
)
Echo.
Echo ЌҐ Їа*ўЁ«м*® ᤥ«** ўлЎ®а §*¤**Ёп
Echo.
Echo.
goto m1
pause >nul

вот еще один интересный вариант - вызывает ОКНО выбора папки:





Код:

Код: Выделить всё

@echo off
setlocal
for /f "tokens=2 delims=:" %%i in ('chcp') do (
    set sPrevCP=%%i
    chcp 1251 >nul
)
for /f "usebackq delims=" %%i in (
    `@"%systemroot%\system32\mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT FOLDER',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" ^
    1^|more`
) do set sFolderName=%%i
chcp %sPrevCP% >nul
if defined sFolderName (
    echo Выбрана папка: %sFolderName%
) else (
    echo Папка не была выбрана.
)
pause
Аватара пользователя
Georgio

Re: CMD/BAT - [решено] Выбор из списка с выводом на экран. Можно такое написать?

Сообщение Georgio »

Цитата luda-chel:



И я с экрана вводила цифру нужной мне папки. Например после вопроса ввожу цифру 2.

Тогда программа идет в "ПапкаВ" и оттуда берет файл и пишет его на диск пользователя.
CMD/BAT - [решено] Выбор из списка с выводом на экран. Можно такое написать?








Если этот файл в этих папках один, то можно так:





Код:

Код: Выделить всё

@echo off
:#
chcp 1251>nul
for %%i in (
 "1 - ПапкаA"
 "2 - ПапкаВ"
 "3 - ПапкаС"
) do (
 chcp 866>nul
 echo %%~i
 chcp 1251>nul
 for /f "tokens=1* delims=- " %%j in (%%i) do (
  set "%%j=copy "D:\%%k" "C:\some_folder""
 )
)
echo.
echo Enter the number of the folder.
echo.
set /p number=
for /l %%i in (1 1 3) do (
 if "%%i"=="%number%" (
  set flag=true
 )
)
if defined flag (
 cls
 setlocal enabledelayedexpansion
 !%number%!>nul&& (
 endlocal
 echo Done! Press any key to exit.
 )
) else (
 cls
 echo Error! Repeat!
 echo.
 goto:#
)
pause>nul
exit /b



Если в этих папках больше одного файла, но нужно копировать одноименные файлы, то замените строку

Код:

Код: Выделить всё

  set "%%j=copy "D:\%%k" "C:\some_folder""

на строку

Код:

Код: Выделить всё

  set "%%j=copy "D:\%%k\some_file" "C:\some_folder""

.
Аватара пользователя
luda-chel

Re: CMD/BAT - [решено] Выбор из списка с выводом на экран. Можно такое написать?

Сообщение luda-chel »

Ух ты!!! Спасибо ВСЕМ))))!!! Всю информацию взяла! Буду пробовать. На работе не всегда удается интернет открыть. О результате отпишусь))))
Ответить

Вернуться в «Скриптовые языки администрирования Windows»