
DataBrowser Folder Versioning Button

jjweimer
// This installs or removes a VersionFolder button in the DataBrowser // The VersionFolder button will create a duplicate of the currently selected data folder // with a date+time stamp appended to it: 'folder name'YYMMDDHHSS // Copy this to the procedure window, compile, open a Data Browser, // and then type InstallVersions() on the command line // Select a data folder to version and click the VersionFolder button // Remove the button by typing RemoveVersions() at the command line // This also works with multiple data folders selected ... it will parse and run the command on each one // It may choke on data folders with long names! #pragma rtGlobals=1 Function InstallVersions() Execute/P/Q/Z "ModifyBrowser appendUserButton={VersionFolder,\"StoreFolderVersion(%s)\"}" return 0 end Function RemoveVersions() Execute/Q/Z "ModifyBrowser deleteUserButton=VersionFolder" return 0 end Function StoreFolderVersion(df) DFREF df // return if this is not a data folder if (DataFolderRefStatus(df)==0) return 0 endif // uncomment this next portion if you would like to avoid versioning the Packages data folder // if (DataFolderRefsEqual(df,root:Packages)) // return 0 // endif // get information about the data folder string cdf = ParseFilePath(1,GetDataFolder(1,df),":",1,0) string sdf = ReplaceString("'",GetDataFolder(0,df),"") // create the new data folder name string currDTS, vdf sprintf currDTS, "%s%s",secs2date(DateTime,-2,":")[2,9],secs2time(DateTime,2) sprintf currDTS "%s%s" sdf, ReplaceString("'",ReplaceString(":",currDTS,""),"") sprintf vdf, "%s%s", cdf, PossiblyQuoteName(currDTS) // if the new already exists, do not overwrite if (DataFolderExists(vdf)) return 0 endif // make the new data folder DuplicateDataFolder df, $vdf return 0 end

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More