Ostap Posted November 15, 2018 Share Posted November 15, 2018 Hi, I have a script that extracts maritime container numbers from PDF documents. The script is working fine, however PDF file name is hardcoded into the script. I could of course add some GUI where PDF file can be selected, but I want to make it even easier to use: user select PDF file in Windows Explorer, right click on it and run a script from context menu. Questions: what function to use, in order to detect which file is selected by the user? How to pass file name as variable to the script? Link to comment Share on other sites More sharing options...
water Posted November 15, 2018 Share Posted November 15, 2018 When adding the script to the context menu you can define which parameter to pass to the script. Means: Which file has been selected. Details can be found here: https://www.howtogeek.com/107965/how-to-add-any-application-shortcut-to-windows-explorers-context-menu/ My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
Ostap Posted November 15, 2018 Author Share Posted November 15, 2018 Ok, looks like filename is passed as variable %1. Do I simply add something like $PDFFile = EnvGet ( "%1" ) to obtain filename in the script? Link to comment Share on other sites More sharing options...
Nine Posted November 15, 2018 Share Posted November 15, 2018 Why would you not use FileOpenDialog function ? Seem to me easier for your users ? “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
water Posted November 15, 2018 Share Posted November 15, 2018 43 minutes ago, Ostap said: $PDFFile = EnvGet ( "%1" ) No, you need to use the command line parameters passed to the compiled script. Please check the help file for $CmdLine and $CmdLineRaw: https://www.autoitscript.com/autoit3/docs/intro/running.htm#CommandLine My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
Nine Posted November 15, 2018 Share Posted November 15, 2018 In any case, you could use both approaches. If no command line parameter is passed to the script, you could simply use FileOpenDialog. You would get the best of all worlds ! “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now