Вы можете запросить ввод данных пользователем, используя команду 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
.