<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Le 30/09/2018 à 20:59, Claus Futtrup a
      écrit :<br>
    </div>
    <blockquote
      cite="mid:ef379ef7-456c-d127-bcf4-7daf7826c610@gmail.com"
      type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252">
      <p>Hi Scilabers</p>
      <p>I have almost always included a neat piece of code in my Scilab
        scripts, so that I can later dump the plots into e.g.  SVG or
        PNG files (script path is not write-protected). The code doesn't
        work anymore:</p>
      <pre style="font-family:Monospaced;font-style:normal;font-size:12.0;"><span style="color:rgb(100,174,100);font-style:italic;">// Extract the filename and path of this script:</span>
<span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">units</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">typs</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">nams</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">file</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(100,174,100);font-style:italic;">// nams(1) = script file name incl. path</span>
<span style="color:rgb(0,0,0);">fpathname</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">strsplit</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">nams</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(50,185,185);">filesep</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(100,174,100);font-style:italic;">// disp(b($-1));</span>
<span style="color:rgb(0,0,0);">scriptpath</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">get_absolute_file_path</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">fpathname</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(50,185,185);">chdir</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">scriptpath</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span></pre>
      <p>The above code returns an empty string in scriptpath. I'm using
        Scilab 6.0.1 (Windows 10) and I wonder what I should do instead?<br>
      </p>
    </blockquote>
    <br>
    The following should work.<br>
    In Scilab 6, file() additionally lists stderr as unit #0.<br>
    Samuel<br>
    <pre style="font-family:Monospaced;font-style:normal;font-size:13.0;"><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">units</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);"> typs</span><span style="color:rgb(0,0,0);">, </span><span style="color:rgb(0,0,0);">nams</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);"> = </span><span style="color:rgb(50,185,185);">file</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> 
<span style="color:rgb(0,0,0);">nams</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(50,185,185);">find</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">units</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(92,92,92);">|</span> <span style="color:rgb(0,0,0);">units</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(188,143,143);">5</span> <span style="color:rgb(92,92,92);">|</span> <span style="color:rgb(0,0,0);">units</span><span style="color:rgb(92,92,92);">==</span><span style="color:rgb(188,143,143);">6</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">scriptpath</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">fileparts</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">nams</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">path</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(50,185,185);">chdir</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">scriptpath</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span></pre>
    <br>
  </body>
</html>