基本上,我不知道是否可以让用户定义变量。这样用户可以插入目录,然后批处理文件将适应该目录。
我要下载一些文件,并且这些文件将下载到一个非常特定的目录中,但是,用户可能已更改了该目录,因此在这种情况下,我希望用户能够设置自己的目录目录。
除了用户可以设置目录之外,我还完成了所有其他操作。这是我想到的代码,因为我说过,它唯一缺少的部分是其他。
if exist directory (
do everything normally
) else (
let the user decided the directory
)
答案 0 :(得分:0)
(从法语翻译)
您好,我想我可以为您提供帮助,如果我理解正确的话,您希望用户输入要下载文件的目录。 所以:
set /p varia="> "
返回
> _
,因此您可以输入目录
:
varia
是将要写入结果的变量
"> "
是用户输入之前显示的文本
否则,这是我最喜欢的方法之一:
echo Option Explicit > pppfolder.vbs
echo Dim strPath >> pppfolder.vbs
echo strPath = SelectFolder( "" ) >> pppfolder.vbs
echo If strPath = vbNull Then >> pppfolder.vbs
echo WScript.Echo "false" >> pppfolder.vbs
echo Else >> pppfolder.vbs
echo WScript.Echo strPath >> pppfolder.vbs
echo End If >> pppfolder.vbs
echo Function SelectFolder( myStartFolder ) >> pppfolder.vbs
echo Dim objFolder, objItem, objShell >> pppfolder.vbs
echo On Error Resume Next >> pppfolder.vbs
echo SelectFolder = vbNull >> pppfolder.vbs
echo Set objShell = CreateObject( "Shell.Application" ) >> pppfolder.vbs
echo Set objFolder = objShell.BrowseForFolder( 0, "%~2", 0, myStartFolder ) >> pppfolder.vbs
echo If IsObject( objfolder ) Then SelectFolder = objFolder.Self.Path >> pppfolder.vbs
echo Set objFolder = Nothing >> pppfolder.vbs
echo Set objshell = Nothing >> pppfolder.vbs
echo On Error Goto 0 >> pppfolder.vbs
echo End Function >> pppfolder.vbs
for /F "tokens=*" %%A in ('CSCRIPT.EXE //NoLogo pppfolder.vbs') do set result=%%A
del pppfolder.vbs
该目录将位于%result%中(如果单击了
CANCEL
按钮,则结果将为none
,否则将是该目录)
我希望我回答了你的问题。 ; ')
亚辛