0

基本上,我对 autohotkey 还是很陌生,想知道是否可以制作一个脚本,以便在按下按钮时弹出一个文件浏览器,然后您可以选择任意数量的文件,但是如果文件超过 1000MB 那么你就不能再选择文件了,在这之后你拥有的文件被复制到计算机中的 U 盘,另外,我将如何确保文件浏览器无法打开任何文件(即你不能只是右键单击和浏览文件时点击打开,只能选择文件吗?谢谢,

4

1 回答 1

0

哈,我今天只是在看那个功能!

看一眼FileGetSize

这是文档中的内容:

支持任何大小的文件,甚至超过 4 GB 的文件,即使 Units 是字节。

如果目标文件是一个目录,大小将被报告为操作系统认为的大小(在所有情况下可能为零)。

要计算文件夹的大小,包括其所有文件,请遵循以下示例:

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

要让它在所有选定的文件上工作,您必须使用循环语句。我要做的是遍历所有选择的文件并将它们的文件大小放入一个变量中,然后在循环结束时显示消息框。

于 2013-06-28T21:02:40.587 回答