如何获取用户选择的文件大小(autohotkey)?

时间:2013-06-28 18:57:35

标签: browser key autohotkey filesize

基本上,我对autohotkey很新,并且想知道是否可以创建一个脚本,以便当按下按钮时,弹出一个文件浏览器,然后选择任意数量的文件,但是如果文件的大小超过1000MB然后你不能再选择文件了,之后你的文件被复制到计算机的USB记忆棒,另外,我怎样才能确保文件浏览器无法打开任何文件(即你不能只是右键单击并在浏览文件时单击打开,您只能选择文件? 三江源,

1 个答案:

答案 0 :(得分:0)

哈,我今天只看这个功能了!

查看FileGetSize

以下是文档中的内容:

  

支持任何大小的文件,即使是超过4千兆字节的文件,甚至是   如果单位是字节。

     

如果目标文件是目录,则会将大小报告为   无论操作系统认为它是什么(在所有情况下都可能为零)。

     

要计算文件夹的大小,包括其所有文件,请按照此操作   例如:

SetBatchLines, -1  ; Make the operation run at maximum speed. 
FolderSize = 0 FileSelectFolder, WhichFolder  ; Ask the user to pick a folder. 
Loop, %WhichFolder%\*.*, , 1
    FolderSize += %A_LoopFileSize% 
MsgBox Size of %WhichFolder% is %FolderSize% bytes.

至于修复它以便无法打开文件,当您使用FileOpen对话框(在文档中检查出来;它很容易)时,您可以准确选择如何处理该文件。

基本上,你没有“禁用”文件的打开,你只需要做其他事情!

例如,如果您将其作为脚本运行,它将显示文件 - 浏览器对话框,但不是在任何程序中打开文件,而是在其上运行FileGetSize函数,然后显示消息框文件大小:

gosub, fileopen

FileOpen:
    FileSelectFile, thisfile, 3,startdirectory, Select Files, Any File (*.*; *.gabc)

    if(thisfile){
        filegetsize, thisfilesize, %thisfile%
        msgbox, %thisfilesize%
        return
    }else{
        return
    }
return

要使其在所有选定文件上运行,您必须使用循环语句。我要做的是遍历所有选定的文件并将其文件大小变为变量,然后在循环结束时显示消息框。