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

Мне было интересно, есть ли кто-нибудь, кто мог бы помочь мне изменить мой текущий фрагмент кода, чтобы включить всплывающее диалоговое окно, которое просит пользователей указать, куда они поместили свой файл% name% .dsd. Я также хотел бы, чтобы он был сохранен в переменной типа% location%, чтобы я мог заменить текущий метод использования% cd%. Код выглядит следующим образом:

@echo off
echo.
echo Hello!
echo Got file?
color f9
set /p="What did you name your file?:"<nul
set /p name=
cd %localhost%
echo -publish> %name%%.scr
echo %cd%\%name%%.dsd>>  %name%%.scr
@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%cd%\%name%%.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "C:\Program Files\Autodesk\AutoCAD 2017\accoreconsole.exe" >> CreateShortcut.vbs
echo oLink.arguments = "/s %cd%\%name%%.scr" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del Createshortcut.vbs
cls
echo .
echo .
echo .
echo .
echo .
echo .
echo .
echo .
echo . Done, bye!
echo .
pause 

1 Ответ

0 голосов
/ 09 ноября 2018

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

@echo off
set "psCommand="(new-object -COM 'Shell.Application').BrowseForFolder(0,'Please choose your SOURCE folder.',0x270,0).self.path""
for /f "usebackq delims=" %%I in (`powershell %psCommand%`) do set "location=%%I
echo %location%
pause
exit
...