Sign in to follow this  
Followers 0
slouw

File Open problem

7 posts in this topic

Hi There

After rebuilding a Win7 environment I have a script (working perfectly before) now broken.

I am at the point where running FileOpen01.au3 (From help folders) is failing with

$file = FileOpen("test.txt", 0)

returning -1.

So far I have

- Checked READ only attributes on folder in question

- Turned UAC down to "never"

- Ticked this checkbox - C:\Program Files (x86)\AutoIt3\AutoIt3_x64.exe > Properties > Campatibilty TAB > Privilege Level > Run this program as an administrator

- Reloaded

Any ideas? Thanks for any reply

Share this post


Link to post
Share on other sites



What version of AutoIt are you using? And where is the file located?


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

The folder where the help file examples are saved in is a protected location, meaning a normal user doesn't have write access to the folder. If you change the file location for test.txt it will probably work.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Thankyou for the replies.

I am researching NTFS issues centred around this topic (below)

http://support.microsoft.com/kb/326549/

It seems AutoIT may be one of "Some programs" as referred to in the KB article.

Exerps include:

Unlike the Read-only attribute for a file, the Read-only attribute for a folder is typically ignored by Windows, Windows components and accessories, and other programs.

The workaround has given me no joy. It involves

use the Attrib command at a command prompt (Cmd.exe) to view or to remove the Read-only or the System attributes of folders

These for example did not do the trick:

D:\>attrib -r +s D:\TTemp

D:\>

D:\>attrib -r -s D:\TTemp

So for the moment this has turned into a more pure Windows thing. Once I have gotten past this I will update this post hopefully to say all fixed now this is what you do :huh2:

Thanks again

Share this post


Link to post
Share on other sites

The folder isn't read only because the Read-Only attribute is set, the folder is protected by the security settings for the Program Files location in Windows 7. Move the file or give the script admin rights and it should work.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

BreManNH

I have the following folders in play:

D:\TTemp Test folder where my test script is located. When I run the script from here I have the fault. My previous post was focused on the properties of this folder.

C:\Program Files (x86)\AutoIt3 – Familiar to you I think. Since I am running Win6x64 I presumed that it was AutoIt3_x64.exe in play. This is borne out by what I see in the task manager when I run the test script. See screenshot below. It appears to be AutoIt3_x64.exe that is running the script.

Posted Image

I am accepting of what I think you are saying first off – this has nothing to do with the READ ONLY attributes of D:\TTemp.

I am not clear however of the second thing you say. You refer to the

Program Files location in Windows 7

Could you clarify? I am anticipating you are going to specify something about the following screenshot.

I have applied FULL CONTROL to all Groups and Usernames In the screenshot and reloaded. No joy. The screenshot below shows the security setup for the C:\Program Files (x86)\AutoIt3 folder. The same FULL CONTROL permissions are assigned for all Groups/Usernames for both

AutoIt3_x64.exe and AutoIt3.exe. Was this the security setup you were referring to? Any replies gratefully received.

Posted Image

Share this post


Link to post
Share on other sites

After much troubleshooting this is fixed. I thought i would update.

The problem is for some reason post Win7 rebuild (and Directory Opus upgrade - Windows Explorer replacement. Rocks) my script was forgetting the correct current working directory.

So what I thought was permissions was not pemrissions at all.

The script creates a DirOpus specific shortcut. A small text file looks like XML with target path embedded.

If I execute the script directly (i.e. highlight the script file from DirOpus and press enter) then it works perfectly. In this case the script and the current working directory are the same.

However I am running the script from a command within my WinExplorer replacement. In this case unbeknown to me the .dcf shortcut files were piling up in the system32 directory.

Workaround is to assign current working directory explicitely with FileChangeDir.

Strange becuase the script does other keystroke things which is context dependant i.e. acting on the instance of DirOpus from where it was called.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0