2014-01-14 9 views
0

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

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

Это не что иное, как щелчок на «просмотр» для загрузки, а затем выбор файла для загрузки. Но вместо того, чтобы получать файл, я бы хотел, чтобы просто собирал каталог. Причина его в том, что внутри файла bat находится команда ftp для загрузки mp3-файла на сервер. Я хотел бы построить файл bat на лету для них, поскольку они регистрируются и заполняют пустую область своим каталогом , который они выбрали. Затем они загружают файл bat и добавляют командную строку в программное обеспечение для выполнения файла bat, которое затем загружает созданный mp3-файл на сервер.

Так есть способ обнаружить и собрать каталог на стороне клиента?

+0

No. Учитывать злой кодировщик; Я хочу получить папку «Документы» ... как бы вы остановили меня, если бы мне удалось обнаружить и собрать каталог на стороне клиента? –

+0

Elliot, в один прекрасный момент я подумал о том, чтобы обойти это, если это было невозможно, просто попросить их ввести в свой каталог конкретные инструкции, как вводить правильные детали. Причина этого заключается в том, что файл bat содержит данные ftp для своего собственного каталога, который создается при регистрации на сервере. – MrTechie

+0

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

ответ

1

Вот один из способов сделать это:

@Echo off 
setlocal 
Call :BrowseFolder "Choose Music folder" "C:\" r 
echo %r% 
pause 
Goto :EOF 


:BrowseFolder 
setlocal 
set vbs="%temp%\_.vbs" 
if exist %vbs% del /f /q %vbs% 
>%vbs% echo set sh=wscript.CreateObject("Shell.Application") 
>>%vbs% echo set f=sh.BrowseForFolder(0,%1,0,%2) 
>>%vbs% echo if typename(f)="Nothing" Then 
>>%vbs% echo wscript.echo "Dialog Cancelled" 
>>%vbs% echo wscript.Quit(1) 
>>%vbs% echo end if 
>>%vbs% echo set fs=f.Items():set fi=fs.Item() 
>>%vbs% echo p=fi.Path:wscript.echo p 
for /f "tokens=*" %%a in ('cscript //nologo %vbs%') do set result=%%a 
if exist %vbs% del /f /q %vbs% 
if "%result%" EQU "Dialog Cancelled" (set a=1) else set a=0 
endlocal & set %3=%result% & exit /b %a% 
+0

Это потрясающе! Этого может быть достаточно, чтобы помочь им, по крайней мере, определить правильный каталог, который они могут ввести на сайт! :) Я отвечу на этот ответ! Спасибо Мэтту! – MrTechie

+0

Мэтт, могу я задать один вопрос? По завершении процесса выбора каталога - он просто отображает каталог, который они выбрали. Можем ли мы сказать что-то вроде «Ваш каталог c: \ ..... пожалуйста, введите это на сайт« Еще раз спасибо! – MrTechie

+0

Да, просто используйте 'Echo. Ваш каталог% r% .. Пожалуйста, введите его на сайт.' –

Смежные вопросы