<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: File Search Path in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255236#M58029</link>
    <description>&lt;P&gt;Example: &lt;A href="http://forums.autodesk.com/t5/NET/Files-in-support-file-paths-not-found/m-p/2557270#M15906" target="_blank"&gt;http://forums.autodesk.com/t5/NET/Files-in-support-file-paths-not-found/m-p/2557270#M15906&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 08 Dec 2011 14:18:05 GMT</pubDate>
    <dc:creator>Alexander.Rivilis</dc:creator>
    <dc:date>2011-12-08T14:18:05Z</dc:date>
    <item>
      <title>File Search Path</title>
      <link>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255058#M58027</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm looking for some code that allows me to find files the same way AutoCAD does, by searching in the folders specified in the &lt;EM&gt;Support File Search Path&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanx,&lt;/P&gt;&lt;P&gt;Marc&lt;/P&gt;</description>
      <pubDate>Thu, 08 Dec 2011 12:14:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255058#M58027</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-12-08T12:14:23Z</dc:date>
    </item>
    <item>
      <title>Re: File Search Path</title>
      <link>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255070#M58028</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;not tried, just searched through the object-catalog in vs ... and found:&lt;/P&gt;&lt;P&gt;&lt;FONT color="#666699" face="lucida sans unicode,lucida sans"&gt;Public MustOverride Function FindFile(fileName As String, database As Autodesk.AutoCAD.DatabaseServices.Database, hint As Autodesk.AutoCAD.DatabaseServices.FindFileHint) As String&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#666699" face="lucida sans unicode,lucida sans"&gt;Member von Autodesk.AutoCAD.DatabaseServices.HostApplicationServices&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sounds like that may be what you are searching for.&lt;/P&gt;&lt;P&gt;The other way would be using LISP &amp;nbsp; &lt;FONT color="#666699" face="lucida sans unicode,lucida sans"&gt;(findfile "myFileName.ext")&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;HTH, - alfred -&lt;/P&gt;</description>
      <pubDate>Thu, 08 Dec 2011 12:20:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255070#M58028</guid>
      <dc:creator>Alfred.NESWADBA</dc:creator>
      <dc:date>2011-12-08T12:20:37Z</dc:date>
    </item>
    <item>
      <title>Re: File Search Path</title>
      <link>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255236#M58029</link>
      <description>&lt;P&gt;Example: &lt;A href="http://forums.autodesk.com/t5/NET/Files-in-support-file-paths-not-found/m-p/2557270#M15906" target="_blank"&gt;http://forums.autodesk.com/t5/NET/Files-in-support-file-paths-not-found/m-p/2557270#M15906&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Dec 2011 14:18:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255236#M58029</guid>
      <dc:creator>Alexander.Rivilis</dc:creator>
      <dc:date>2011-12-08T14:18:05Z</dc:date>
    </item>
    <item>
      <title>Re: File Search Path</title>
      <link>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255992#M58030</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1. get the AcadSearchPath:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AcadPreferences acadPrefs = (AcadPreferences)Application.Preferences;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string supportPath = acadPrefs.Files.SupportPath;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //supportPath="path1;path2;path3..."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2.parse that string into an array of non empty pathnames&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] searchPaths = supportPath.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToArray&amp;lt;string&amp;gt;();&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;3. sample 1 search for A folder&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string menuPath = searchPaths .Where(name =&amp;gt; name.ToUpper().Contains("TheFolderName")).First&amp;lt;string&amp;gt;();&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now the search for files&lt;/P&gt;&lt;P&gt;4. create the FindFile (overloaded) methodes, using the above searchPaths as a default&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string AcadFindFile(string fileToFind)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AcadPreferences acadPrefs = (AcadPreferences)Application.Preferences;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] pathsToSearchIn = acadPrefs.Files.SupportPath.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToArray&amp;lt;string&amp;gt;();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return AcadFindFile(fileToFind, pathsToSearchIn);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string AcadFindFile(string fileToFind, string[] pathsToSearchIn)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string fileFound = "";&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Path.IsPathRooted(fileToFind))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (File.Exists(fileToFind))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fileToFind;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileToFind=Path.GetFileName(fileToFind);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var initialFolderList =&amp;nbsp; pathsToSearchIn.ToArray&amp;lt;string&amp;gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var existingFolderList = initialFolderList.Where(path =&amp;gt; new DirectoryInfo(path).Exists);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var path in existingFolderList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string fileFound2 = path..GetFiles(dir, fileToFind).First&amp;lt;string&amp;gt;();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var allfileList = existingFolderList.Select(dir =&amp;gt; Directory.GetFiles(dir,fileToFind).First&amp;lt;string&amp;gt;());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var matchingfileList=allfileList.Where(x =&amp;gt; x.ToString().ToLower().Contains(fileToFind.ToLower()));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var firstfile=matchingfileList.ToArray()[0];&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dirQuery = pathsToSearchIn.Where(dir =&amp;gt; Directory.Exists(dir))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Select(dir =&amp;gt; Directory.GetFiles(dir).Where(x =&amp;gt; x.ToLower().Contains(fileToFind.ToLower())));&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var filesQuery = InitialFolderList.Where(dir=&amp;gt; File.Exists(dir));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fileFound;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;5. usage of the AcadFindFile methodes&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string theFile = AcadFindFile("lib_G-H_B.dwg");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (theFile.Length&amp;gt;0 )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ed.WriteMessage("\n{0}", theFile);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;you'll need the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;using System;&lt;BR /&gt;using System.IO;&lt;BR /&gt;using System.Collections.Generic;&lt;BR /&gt;using System.Linq;&lt;BR /&gt;using System.Text;&lt;BR /&gt;&lt;BR /&gt;using Autodesk.AutoCAD;&lt;BR /&gt;using Autodesk.AutoCAD.Interop;&lt;BR /&gt;using Autodesk.AutoCAD.ApplicationServices;&lt;BR /&gt;using Autodesk.AutoCAD.Runtime;&lt;BR /&gt;using Autodesk.AutoCAD.DatabaseServices;&lt;BR /&gt;using Autodesk.AutoCAD.EditorInput;&lt;BR /&gt;using Autodesk.AutoCAD.Geometry;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Dec 2011 20:13:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3255992#M58030</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-12-08T20:13:07Z</dc:date>
    </item>
    <item>
      <title>Re: File Search Path</title>
      <link>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3258966#M58031</link>
      <description>&lt;P&gt;Thank you for this input, but do you have the VB code too?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Some extra info;&lt;/P&gt;&lt;P&gt;The goal for my code is, I need to eccess a textfile for read that is stored in one of the folders that are defined in the search paths.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Marc&lt;/P&gt;</description>
      <pubDate>Mon, 12 Dec 2011 12:35:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3258966#M58031</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-12-12T12:35:28Z</dc:date>
    </item>
    <item>
      <title>Re: File Search Path</title>
      <link>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3259030#M58032</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;FONT color="#666699"&gt;&amp;gt;&amp;gt; but do you have the VB code too?&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;What source code do you need more than the 3 answers above gave you? First you search the file, then (if it's found) you open it .... what is missing?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- alfred -&lt;/P&gt;</description>
      <pubDate>Mon, 12 Dec 2011 13:40:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/file-search-path/m-p/3259030#M58032</guid>
      <dc:creator>Alfred.NESWADBA</dc:creator>
      <dc:date>2011-12-12T13:40:02Z</dc:date>
    </item>
  </channel>
</rss>

