Скопируйте файл с пакетом в выбранный пользователем каталог - PullRequest
0 голосов
/ 26 апреля 2018

Я ищу файл .bat, который при открытии спрашивает пользователя, какую папку он хочет выбрать, затем пакетно копирует файл (скрипт Python) в эту папку и выполняет его

сейчас я использую:

xcopy c:/pythonfiletocopy d:/destinationpath

но я не могу найти способ заставить пользователя выбрать папку назначения

есть идеи?

спасибо

1 Ответ

0 голосов
/ 26 апреля 2018

Вы можете запросить ввод данных пользователем, используя команду Set вместе с опцией /P.

Вот пример, который должен принимать типизированный или вставленный ввод, а также принимать перетаскивание для каталогов, не содержащих пробелы :

@Echo Off
Set "_in=" & Set /P "_in=Please provide a directory for the file: "
If Defined _in If Exist "%_in%\" Echo XCopy "C:\pythonfiletocopy" "%_in%"
Pause

Я добавил Echo в строке 3, если вы довольны выводом, вы можете удалить его.


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

Вот пример, который может сделать это:

0</* :
@Echo Off
For /F "Delims=" %%A In ('CScript //E:JScript //NoLogo "%~f0" 2^>Nul'
) Do Echo XCopy "C:\pythonfiletocopy" "%%A"
Pause
Exit /B */0;
var Folder=new ActiveXObject('Shell.Application').BrowseForFolder(0,'',1,'::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');
try{new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch(e){};close();

Я добавил Echo в строке 4, если вы довольны выводом, вы можете удалить его и строку 5.

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