home *** CD-ROM | disk | FTP | other *** search
- editor="winbatch studio.exe" ;Default editor
- ; Common menu for all file types
- ;First figure out where filemenu.dll is installed via registry lookup
- ErrorMode(@OFF)
- wbdir=RegQueryStr(@REGMACHINE,"SOFTWARE\Wilson WindowWare\WinBatch\CurrentVersion")
- if wbdir==0
- wbdir=RegQueryStr(@REGMACHINE,"SOFTWARE\Wilson WindowWare\WinBatch Compiler\CurrentVersion")
- endif
- ErrorMode(@CANCEL)
- if wbdir==0 then Display(5,"Error","Registry entries missing. Re-install WinBatch")
- homedir=strcat(wbdir,"system\")
-
- inifile=strcat(DirWindows(0),"FileMenu.ini")
- if !FileExist(inifile) then inifile=strcat(homedir,"FileMenu.ini")
- commonmenu="FileMenu for all filetypes.mnw"
- defaultmenu="FileMenu for misc filetypes.mnw"
- menudir=IniReadPvt("FileMenu","MenuDir",homedir,inifile)
- if Strsub(menudir,strlen(menudir),1)!="\" then menudir=StrCat(menudir,"\")
-
- Two Explorers, side by side ; Your dual window file manager
- a=IntControl(31,0,0,0,0) ;return list of ids of explorer windows
- c=ItemCount(a,@TAB)
- switch c
- case 0
- run("explorer.exe",strcat("/n,/e,",DirGet()))
- while FindWindow("ExploreWClass")=="" ;wait for it to come up
- Yield
- end while
- ;Fall into case 1
-
- case 1
- TimeDelay(0.5)
- run("explorer.exe",strcat("/n,/e,",DirGet()))
- break
- case c ; 2 or more
- break
- endswitch
- d=1
- while c<2 && d<500
- a=IntControl(31,0,0,0,0)
- c=ItemCount(a,@TAB)
- d=d+1
- endwhile
- if c<2 then exit
- id1=ItemExtract(1,a,@TAB)
- id2=ItemExtract(2,a,@tab)
- WinPlaceSet(@NORMAL,id2,"500 0 1000 900")
- WinShow(id2)
- Yield
- Yield
- WinPlaceSet(@NORMAL,id1,"0 0 500 900")
- WinShow(id1)
-
- Open Other ... ; Choose an application to view or edit the selected file.
-
- &Browser (binary file viewer) ; View any file in binary format.
- file = CurrFilePath()
- If !(FileExist(file)) Then file = ""
- Else If FileExtension(file) == "" Then file = StrCat(file, ".")
- ;Run("browser.exe", FileNameShort(file))
- Run("browser.exe", strcat('"',file,'"'))
- &Notepad ; Modify small plain text files.
- file = CurrFilePath()
- If !(FileExist(file)) Then file = ""
- Else If FileExtension(file) == "" Then file = StrCat(file, ".")
- Run("notepad.exe", file)
- &MSPaint (bitmap) ; View and Modify bitmaps
- file = CurrFilePath()
- If !(FileExist(file)) Then file = ""
- Else If FileExtension(file) == "" Then file = StrCat(file, ".")
- bmpfile = strlower(FileExtension(file))
- If bmpfile != "bmp" && bmpfile!="jpg" && bmpfile!="gif" && bmpfile!="jpeg"
- Message("Error","Select a bmp, gif or jpg file and try again.")
- Exit
- EndIf
- mspaintexe=FileLocate("mspaint.exe")
- if mspaintexe==""
- rkey=RegOpenKey(@REGMACHINE,"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths")
- mspaintexe=RegQueryValue(rkey,"MSPAINT.EXE")
- RegCloseKey(rkey)
- endif
- Run(mspaintexe,strcat('"',file,'"'))
- &Wordpad (text and graphics) ; Modify WORD, RTF, plain text files. Can contain bitmaps, too.
- file = CurrFilePath()
- If !(FileExist(file)) Then file = ""
- Else If FileExtension(file) == "" Then file = StrCat(file, ".")
- rkey=RegOpenKey(@REGMACHINE,"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths")
- wordpadexe=RegQueryStr(rkey,"WORDPAD.EXE")
- RegCloseKey(rkey)
- Run(wordpadexe,'"%file%"')
- WinBatch &Studio (text) ; Open file with WinBatch Studio
- f = CurrFilePath()
- If !(FileExist(f)) Then f = ""
- Else If FileExtension(f) == "" Then f = StrCat(f, ".")
- f=strcat('"',f,'"')
- Run(editor,f)
-
-
- File Operations
-
- File/Folder size ;Sum sizes of all highlighted files and folders
-
- tot = FileSize(FileItemize(""))
- sub1 = DirItemize("")
- totdir=0
- level=1
- dir1=DirGet()
-
- numdir1 = ItemCount(sub1, @tab)
- index1 = 0
-
- :dsloop
- If index%level% == numdir%level% Then Goto upalevel
- index%level% = index%level% + 1
- DirChange(StrCat(dir%level%, ItemExtract(index%level%, sub%level%, @tab)))
-
- totdir=totdir+1
- tot = tot + FileSize(FileItemize("*.*"))
- level = level + 1
- dir%level% = DirGet()
- sub%level% = DirItemize("*.*")
- numdir%level% = ItemCount(sub%level%, @tab)
- index%level% = 0
- goto dsloop
-
- :upalevel
- drop(dir%level%,sub%level%,index%level%,numdir%level%)
- level=level-1
- if level!=0 then goto dsloop
-
- ; -----------
- ; Termination
- ; -----------
-
- If StrLen(tot) < 9 Then tot = StrCat(StrFill("", 9 - StrLen(tot)), tot)
- tot = StrCat(StrSub(tot,1,3),",",StrSub(tot,4,3),",",StrSub(tot,7,3))
- tot = StrTrim(tot)
- If StrSub(tot, 1, 1) == "," Then tot = StrSub(tot, 2, StrLen(tot) - 1)
- tot = StrTrim(tot)
- If StrSub(tot, 1, 1) == "," Then tot = StrSub(tot, 2, StrLen(tot) - 1)
- tot = StrTrim(tot)
- Message("%totdir% Subdirectories included", "Total size %tot% bytes.")
-
- Print (with Notepad) ;Print text-type file with notepad on default printer
- Run("notepad.exe",strcat("/p ",CurrFilePath()))
- Associate ;Associate this type of file with an application
- a=strlower(FileExtension(CurrentFile()))
- Terminate((a=="exe"||a=="com"||a=="bat"||a=="pif"||a=="lnk"),"Ooops","Cannot associate executable files")
- b=AskFileName("Associate %a% files with","C:\","Executable Files|*.exe;*.com;*.bat;*.pif|All Files|*.*|","",1)
-
- rkey=RegOpenKey(@REGCLASSES,"")
- ErrorMode(@OFF)
- RegDeleteKey(rkey,".%a%")
- ErrorMode(@CANCEL)
- RegSetValue(rkey, ".%a%", "%a%_auto_file")
- RegSetValue(rkey,"%a%_auto_file\shell\open\command",strcat('"',b,'" "%%1"'))
- AU=StrUpper(a)
- RegSetValue(rkey,"%a%_auto_file","%AU% File")
- RegClosekey(rkey)
- File Attributes ;View file attributes
- files = FileItemize("")
- numfiles = ItemCount(files,@TAB)
- While numfiles == 1
- file = CurrentFile()
- result = FileAttrGet(file)
- If StrLen(file) > 30
- fileindialog = StrSub(file,1,30)
-
- fileindialog = StrCat(fileindialog," ...")
- Else
- fileindialog = file
- EndIf
-
- readonly = 2
- archive = 2
- system = 2
- hidden = 2
- If StrSub(result,1,1) == "R" Then readonly = "3"
- If StrSub(result,2,1) == "A" Then archive = "3"
- If StrSub(result,3,1) == "S" Then system = "3"
- If StrSub(result,4,1) == "H" Then hidden = "3"
-
- FileAttributesFormat=`WWWDLGED,5.0`
-
- FileAttributesCaption=`File Attributes`
- FileAttributesX=7
- FileAttributesY=25
- FileAttributesWidth=199
- FileAttributesHeight=101
- FileAttributesNumControls=17
-
- FileAttributes01=`110,86,36,DEFAULT,PUSHBUTTON,DEFAULT,"&Cancel",0`
- FileAttributes02=`42,18,38,DEFAULT,STATICTEXT,DEFAULT,"Read Only"`
- FileAttributes03=`126,18,36,DEFAULT,STATICTEXT,DEFAULT,"System"`
- FileAttributes04=`84,18,36,DEFAULT,STATICTEXT,DEFAULT,"Archive"`
- FileAttributes05=`168,18,36,DEFAULT,STATICTEXT,DEFAULT,"Hidden"`
- FileAttributes06=`56,86,36,DEFAULT,PUSHBUTTON,DEFAULT,"&OK",1`
- FileAttributes07=`2,54,36,DEFAULT,STATICTEXT,DEFAULT,"On"`
- FileAttributes08=`2,36,36,DEFAULT,STATICTEXT,DEFAULT,"Off"`
- FileAttributes09=`2,4,194,DEFAULT,STATICTEXT,DEFAULT,"Set File Attributes for => %fileindialog% "`
- FileAttributes10=`42,36,36,DEFAULT,RADIOBUTTON,readonly,"",2`
- FileAttributes11=`42,54,36,DEFAULT,RADIOBUTTON,readonly,"",3`
- FileAttributes12=`166,54,36,DEFAULT,RADIOBUTTON,hidden,"",3`
- FileAttributes13=`84,36,36,DEFAULT,RADIOBUTTON,archive,"",2`
- FileAttributes14=`84,54,36,DEFAULT,RADIOBUTTON,archive,"",3`
- FileAttributes15=`166,36,36,DEFAULT,RADIOBUTTON,hidden,"",2`
- FileAttributes16=`126,36,36,DEFAULT,RADIOBUTTON,system,"",2`
- FileAttributes17=`126,54,36,DEFAULT,RADIOBUTTON,system,"",3`
-
- ButtonPushed=Dialog("FileAttributes")
-
-
-
- Select buttonpushed
-
- Case 0
- Break
-
- Case 1
-
- first = ""
- second = ""
- third = ""
- fourth = ""
- If readonly == 2 Then first = "r"
- If archive == 2 Then second = "a"
- If system == 2 Then third = "s"
- If hidden == 2 Then fourth = "h"
- If readonly == 3 Then first = "R"
- If archive == 3 Then second = "A"
- If system == 3 Then third = "S"
- If hidden == 3 Then fourth = "H"
-
-
-
-
- attributes = StrCat( first, second, third, fourth )
- FileAttrSet(file, attributes)
- break
- End Select
-
-
- Exit
- EndWhile
-
- ;Set Attributes: Selected Files
-
- displayfiles = files
- readonly = 1
- archive = 1
- system = 1
- hidden = 1
- AttribFormat=`WWWDLGED,5.0`
-
- AttribCaption=`Attributes`
- AttribX=6
- AttribY=25
- AttribWidth=201
- AttribHeight=101
- AttribNumControls=22
-
- Attrib01=`110,86,36,DEFAULT,PUSHBUTTON,DEFAULT,"&Cancel",0`
- Attrib02=`42,18,38,DEFAULT,STATICTEXT,DEFAULT,"Read Only"`
- Attrib03=`126,18,36,DEFAULT,STATICTEXT,DEFAULT,"System"`
- Attrib04=`84,18,36,DEFAULT,STATICTEXT,DEFAULT,"Archive"`
- Attrib05=`168,18,36,DEFAULT,STATICTEXT,DEFAULT,"Hidden"`
- Attrib06=`2,34,38,DEFAULT,STATICTEXT,DEFAULT,"No Change"`
- Attrib07=`2,70,36,DEFAULT,STATICTEXT,DEFAULT,"On"`
- Attrib08=`2,52,36,DEFAULT,STATICTEXT,DEFAULT,"Off"`
- Attrib09=`42,34,36,DEFAULT,RADIOBUTTON,readonly,"",1`
- Attrib10=`42,52,36,DEFAULT,RADIOBUTTON,readonly,"",2`
- Attrib11=`42,70,36,DEFAULT,RADIOBUTTON,readonly,"",3`
- Attrib12=`84,34,36,DEFAULT,RADIOBUTTON,archive,"",1`
- Attrib13=`84,52,36,DEFAULT,RADIOBUTTON,archive,"",2`
- Attrib14=`84,70,36,DEFAULT,RADIOBUTTON,archive,"",3`
- Attrib15=`126,34,36,DEFAULT,RADIOBUTTON,system,"",1`
- Attrib16=`126,52,36,DEFAULT,RADIOBUTTON,system,"",2`
- Attrib17=`126,70,36,DEFAULT,RADIOBUTTON,system,"",3`
- Attrib18=`168,34,36,DEFAULT,RADIOBUTTON,hidden,"",1`
- Attrib19=`168,52,36,DEFAULT,RADIOBUTTON,hidden,"",2`
- Attrib20=`168,70,36,DEFAULT,RADIOBUTTON,hidden,"",3`
- Attrib21=`58,2,130,DEFAULT,STATICTEXT,DEFAULT,"Set Attributes for Selected Files"`
- Attrib22=`56,86,36,DEFAULT,PUSHBUTTON,DEFAULT,"&OK",1`
-
- ButtonPushed=Dialog("Attrib")
-
-
-
-
- Select buttonpushed
-
- Case 0
- Break
-
- Case 1
-
- first = ""
- second = ""
- third = ""
- fourth = ""
- If readonly == 2 Then first = "r"
- If archive == 2 Then second = "a"
- If system == 2 Then third = "s"
- If hidden == 2 Then fourth = "h"
- If readonly == 3 Then first = "R"
- If archive == 3 Then second = "A"
- If system == 3 Then third = "S"
- If hidden == 3 Then fourth = "H"
-
-
-
-
- attributes = StrCat( first, second, third, fourth )
- FileAttrSet(files, attributes)
- break
- End Select
- Exit
-
-
- DOS &Copy ; Like the good, old, DOS COPY command.
- s = StrTrim(FileItemize(""))
- s=StrReplace(s,@tab,"|")
- If s == "" Then Message("Copy Error", "No files selected")
- Then Exit
- If ItemCount(s, "|") == 1 Then t = s
- Else t = ""
- t = AskLine("Copy", StrCat(s, @CRLF, @CRLF, "to"), t)
- If t == "" Then Message("Copy Error", "Cannot copy to null file name")
- Then Exit
- FileCopy(s, t, @TRUE)
-
- DOS &Rename ;Like the good, old DOS RENAME command.
- s = StrTrim(FileItemize(""))
- s=StrReplace(s,@tab,"|")
- If s == "" Then Message("Rename Error", "No files selected")
- Then Exit
- If ItemCount(s, "|") == 1 Then t = s
- Else t = ""
- t = AskLine("Rename", StrCat(s, @CRLF, @CRLF, "to"), t)
- If t == "" Then Message("Rename Error", "Cannot rename to null file name")
- Then Exit
- FileRename(s, t)
-
-
- Clipboard Tricks ; Copies just the filenames to the clipboard
- FileName(s) to Clipboard ; Just the filenames
- a=FileItemize("")
- a=ItemSort(a,@tab)
- a=strreplace(a,@TAB,@CRLF)
- ClipPut(a)
- Display(2,"Filenames placed on Clipboard",a)
- Path and FileName(s) to Clipboard ; Copies filenames with full paths to the Clipboard
- a=FileItemPath("")
- a=ItemSortNC(a,@TAB)
- a=StrReplace(a,@TAB,@CRLF)
- ClipPut(a)
- Display(2,"Full path filenames placed on Clipboard",a)
- Path to Clipboard ; Copies just the path to the clipboard
- a=FileItemPath("")
- a=FilePath(ItemExtract(1,a,@tab))
- ClipPut(a)
- Display(2,"Path placed on Clipboard",a)
-
-
- _Run Clipboard Viewer ; Lets you see what is on the clipboard
- Run("clipbrd.exe","")
-
-
- WIL Interactive
- Execute a function
- call("%homedir%wwwmenu95.wil","CMDSTACK NEWCMD")
- _Load WIL Help File
- WinHelp(strcat(wbdir,"Windows Interface Language.hlp"),"CONTENTS","")
-
-
-
-
- _Edit File Menus ; Modify WinBatch FileMenus here
- Edit menu for this filetype ; Edit menus for files with a specific file extension.
- b=strupper(FileExtension(CurrentFile()))
- a=IniReadPvt("Menus",b,"*NONE*",inifile)
- c=a
- if c=="*NONE*" then a=strcat("FileMenu for %b% files",".mnw")
- if FilePath(a)=="" then a=strcat(menudir,a)
- ;Message(a,FileExist(a))
- if FileExist(a)
- if c=="*NONE*"
- iniwritepvt("Menus",b,a,inifile)
- Display(7,"%b% was missing from %inifile%","Adding menu file back in now")
- endif
- else
- c=AskYesNo("Please note:","The menu file for the %b% filetype does not exist. Would you like to start a new one?")
- if c==@NO then exit
- c= "; WinBatch FileMenu for %b% filetype%@CRLF%"
- c=strcat(c,@CRLF,"; This is a sample menu file to help you get started")
- c=strcat(c,@CRLF,"; writing your very own Winbatch FileMenu menus. It is")
- c=strcat(c,@CRLF,"; really not too bad. WinBatch is a simple programming")
- c=strcat(c,@CRLF,"; language. You can find out just about all you need to")
- c=strcat(c,@CRLF,"; know from the Windows Interface Language help file or")
- c=strcat(c,@CRLF,"; the manual. Check out the section on Menu Files,")
- c=strcat(c,@CRLF,"; the WIL Tutorial and the WIL Function Reference.")
-
- c=strcat(c,@CRLF,@CRLF,"; Figure out Winbatch home directory")
- c=strcat(c,@CRLF,' ErrorMode(@OFF)')
- c=strcat(c,@CRLF,' wbdir=RegQueryStr(@REGMACHINE,"SOFTWARE\Wilson WindowWare\WinBatch\CurrentVersion")')
- c=strcat(c,@CRLF,' if wbdir==0 ')
- c=strcat(c,@CRLF,' wbdir=RegQueryStr(@REGMACHINE,"SOFTWARE\Wilson WindowWare\WinBatch Compiler\CurrentVersion")')
- c=strcat(c,@CRLF,' endif')
- c=strcat(c,@CRLF,' ErrorMode(@CANCEL)')
- c=strcat(c,@CRLF,' if wbdir==0 then Display(5,"Error","Registry entries missing. Re-install WinBatch")')
- c=strcat(c,@CRLF,' homedir=strcat(wbdir,"system\")')
-
- c=strcat(c,@CRLF,@CRLF,'Standalone menu item ; Sample menu item')
- c=strcat(c,@CRLF, ' Message("Hello","There")')
- c=strcat(c,@CRLF,@CRLF,'Top Level menu item')
- c=strcat(c,@CRLF, ' Selected File is ; Shows currently selected file')
- c=strcat(c,@CRLF, ' a=CurrFilePath()')
- c=strcat(c,@CRLF, ' Message("Selected File is",a)')
- c=strcat(c,@CRLF, ' Run Calculator ; Sample Run function')
- c=strcat(c,@CRLF, ' Run("calc.exe","")')
- c=strcat(c,@CRLF, ' Run Notepad on selected file ; Sample Run function with filename')
- c=strcat(c,@CRLF, ' a=CurrFilePath()')
- c=strcat(c,@CRLF, ' Run("notepad.exe",a)')
-
- c=strcat(c,@CRLF,@CRLF,'; Note: You may want to delete this menu item if you edit this file')
- c=strcat(c,@CRLF, ' _Delete this sample menu file ; Deletes this menu file')
- c=strcat(c,@CRLF, ' ErrorMode(@OFF)')
- c=strcat(c,@CRLF, ' wbdir=RegQueryStr(@REGMACHINE,"SOFTWARE\Wilson WindowWare\WinBatch\CurrentVersion")')
- c=strcat(c,@CRLF, ' if wbdir==0')
- c=strcat(c,@CRLF, ' wbdir=RegQueryStr(@REGMACHINE,"SOFTWARE\Wilson WindowWare\WinBatch Compiler\CurrentVersion")')
- c=strcat(c,@CRLF, ' endif')
- c=strcat(c,@CRLF, ' ErrorMode(@CANCEL)')
- c=strcat(c,@CRLF, ' if wbdir==0 then Display(5,"Error","Registry entries missing. Re-install WinBatch")')
- c=strcat(c,@CRLF, ' homedir=strcat(wbdir,"system\")')
- c=strcat(c,@CRLF, ' inifile=strcat(DirWindows(0),"FileMenu.ini")')
- c=strcat(c,@CRLF, ' if !FileExist(inifile) then inifile=strcat(homedir,"FileMenu.ini")')
- c=strcat(c,@CRLF, ' menudir=IniReadPvt("FileMenu","MenuDir",homedir,inifile)')
- c=strcat(c,@CRLF, ' if StrSub(menudir,strlen(menudir),1)!="\" then menudir=StrCat(menudir,"\")')
- c=strcat(c,@CRLF, ' b=strupper(FileExtension(CurrentFile()))')
- c=strcat(c,@CRLF, ' a=IniReadPvt("Menus",b,"*NONE*",inifile)')
- c=strcat(c,@CRLF, ' if a=="*NONE*" then a=strcat("Files%b%",".mnw")')
- c=strcat(c,@CRLF, ' if FilePath(a)=="" then a=strcat(menudir,a)')
- c=strcat(c,@CRLF, ' c=AskYesNo("Are you sure you wish to delete this menu file",a)')
- c=strcat(c,@CRLF, ' if c==@YES')
- c=strcat(c,@CRLF, ' IniDeletePvt("Menus",b,inifile)')
- c=strcat(c,@CRLF, ' FileDelete(a)')
- c=strcat(c,@CRLF, ' endif')
-
-
-
-
- c=strcat(c,@CRLF)
- fh=FileOpen(a,"WRITE")
- FileWrite(fh,c)
- FileClose(fh)
- iniwritepvt("Menus",b,a,inifile)
- drop(c)
-
- endif
- Run(Editor,'"%a%"')
- ;Edit the Miscellaneous File Menu ; Edit menus for files with unrecognized extensions
- ; a=IniReadPvt("FileMenu","DefaultMenu",defaultmenu,inifile)
- ; if FilePath(a)=="" then a=strcat(menudir,a)
- ; Run(Editor,'"%a%"')
- Edit menu for all filetypes ; Edit global menu for all files
- a=IniReadPvt("FileMenu","CommonMenu",commonmenu,inifile)
- if FilePath(a)=="" then a=strcat(menudir,a)
- Run(Editor,'"%a%"')
- _Load WIL Help File
- WinHelp(strcat(wbdir,"Windows Interface Language.hlp"),"CONTENTS","")
-
- _About WinBatch FileMenu ; Software from Wilson WindowWare
- About()
-
-