<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>I know that this is a very old thread, but, I keep thinking about it since I read it. The latest versions of windows 10 (1803) with WSL installed, allow to use "case sensitive" for folders using the "fsutils", that is, "fsutils" is not recursive and must be made folder by folder.</div><div><br></div><div>Some days ago I am working on a collaborative (La) TeX project using github, linux and windows and I have created a small script (csdirtree) to leave dir trees  with "case sensitive" activated (ideal when using "auxtree" loved...).</div><div><br></div><div>In the future maybe it could be an option to install TexLive using pseudo "case sensitive" using 

<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">"fsutils"</span>

 in win10.</div><div><br></div><div>regards</div><div>Pablo</div><div><br></div><div><div>#!/usr/bin/perl</div><div>use v5.22;</div><div>use strict;</div><div>use autodie;</div><div>use File::Find;</div><div>use Getopt::Long qw(:config bundling_values require_order no_ignore_case);</div><div>use File::Spec::Functions qw(devnull);</div><div><br></div><div># vars</div><div>my $enable  = 1;</div><div>my $disable = 0;</div><div>my $status  = 0;</div><div>my $help    = 0;</div><div>my $verbose = 0;</div><div>my $null    = devnull(); # "null" device for windows</div><div><br></div><div># error</div><div>sub errorUsage { die "@_ (try csdirtree --help for more information)\n"; }</div><div><br></div><div>#----------------- script identification, options and help -----------#</div><div>my $script = "csdirtree";</div><div>my $nv='v1.0';</div><div>my $copyright = <<END_COPYRIGHT ;</div><div>[2018-09-11] (c) 2018 by Pablo Gonzalez L, pablgonz<at><a href="http://yahoo.com">yahoo.com</a></div><div>END_COPYRIGHT</div><div><br></div><div>my $licensetxt = <<END_LICENSE ;</div><div>    This program is free software; you can redistribute it and/or modify</div><div>    it under the terms of the GNU General Public License as published by</div><div>    the Free Software Foundation; either version 2 of the License, or</div><div>    (at your option) any later version.</div><div><br></div><div>    This program is distributed in the hope that it will be useful, but</div><div>    WITHOUT ANY WARRANTY; without even the implied warranty of</div><div>    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</div><div>    General Public License for more details.</div><div><br></div><div>    You should have received a copy of the GNU General Public License</div><div>    along with this program; if not, write to the Free Software</div><div>    Foundation, Inc., 59 Temple Place, Suite 330, Boston,</div><div>    MA  02111-1307  USA</div><div>END_LICENSE</div><div><br></div><div>my $title = "$script $nv $copyright";</div><div><br></div><div># usage</div><div>my $usage = <<"HOW_TO_USE";</div><div>${title}Syntax: csdirtree [--enable|--disable|--status] "X:\\full\\path\\dirtree"</div><div>Function: Set case sensitive in directory tree for windows 10 </div><div>Examples:</div><div>\$ csdirtree --enable  "C:\\testdir"</div><div>\$ csdirtree --disable "C:\\testdir"</div><div>\$ csdirtree --status  "C:\\testdir"</div><div><br></div><div>Options:</div><div> -h, --help     - display this help and exit</div><div> -e, --enable   - run fsutil.exe file SetCaseSensitiveInfo "X:\\dirtree" enable</div><div> -d, --disable  - run fsutil.exe file SetCaseSensitiveInfo "X:\\dirtree" disable</div><div> -s, --status   - run fsutil.exe file queryCaseSensitiveInfo "X:\\dirtree"</div><div> -v, --verbose  - show information when running fsutil.exe command in cmd</div><div>HOW_TO_USE</div><div><br></div><div># Getopt::Long</div><div>my %opts_cmd;</div><div>GetOptions (</div><div>    'h|help'       => \$opts_cmd{help},</div><div>    'e|enable'     => \$opts_cmd{enable},</div><div>    'd|disable'    => \$opts_cmd{disable},</div><div>    's|status'     => \$opts_cmd{status},</div><div>    'v|verbose'    => \$opts_cmd{verbose},</div><div>) or die $usage;</div><div><br></div><div># help</div><div>if (defined $opts_cmd{help}){</div><div>    print $usage;</div><div>    exit(0);</div><div>}</div><div><br></div><div># disable</div><div>if (defined $opts_cmd{disable}){</div><div>    $enable = 0;</div><div>    $disable=1;</div><div>}</div><div><br></div><div># status</div><div>if (defined $opts_cmd{status}){</div><div>    $enable = $disable = 0;</div><div>    $status = $verbose = 1;</div><div>}</div><div><br></div><div># verbose</div><div>if (defined $opts_cmd{verbose}){</div><div>    $verbose = 1;</div><div>}</div><div><br></div><div># fsutils file <options> <$dirtree> [mark]</div><div>my $fsutil = $status ? 'fsutil file queryCaseSensitiveInfo'</div><div>            :          'fsutil file SetCaseSensitiveInfo'</div><div>            ;</div><div><br></div><div>my $mark    = $enable ? 'enable'</div><div>            : $disable? 'disable'</div><div>            :           ''</div><div>            ;</div><div><br></div><div>my $quiet   = $verbose ? ''</div><div>            :            "> $null"</div><div>            ;</div><div><br></div><div># check input</div><div>@ARGV > 0 or errorUsage 'Input "X:\\full\\path\\dirtree" missing';</div><div>@ARGV < 2 or errorUsage 'Unknown option or too many inputs';</div><div><br></div><div># dirtree to change case sensitive</div><div>my $dirtree  = $ARGV[0];</div><div><br></div><div># search in tree</div><div>finddepth(\&read_tree, $dirtree);</div><div><br></div><div>sub read_tree{</div><div>my @subdirs;</div><div>my $element = $_;</div><div>if (-d $element){ # if a dir</div><div>    push @subdirs,$File::Find::name;</div><div>    s{/}{\\}mg foreach @subdirs; # changue / by \</div><div>    system("$fsutil @subdirs $mark $quiet");</div><div>    }</div><div>}</div><div>__END__</div></div><div><br></div><div><br></div><div><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Message: 4<br>
Date: Mon, 16 Apr 2018 13:45:43 +0900<br>
From: "Akira Kakuto" <<a href="mailto:kakuto@fuk.kindai.ac.jp">kakuto@fuk.kindai.ac.jp</a>><br>
To: "Daniel H. Luecking" <<a href="mailto:luecking@uark.edu">luecking@uark.edu</a>>, <<a href="mailto:tex-live@tug.org">tex-live@tug.org</a>><br>
Subject: Re: [tex-live] kpsewhich case insensitive?<br>
Message-ID: <<wbr>2A9C0925EB1145EEBC9E30EF7066EE<wbr>34@CJ3001517A><br>
Content-Type: text/plain; format=flowed; charset="iso-8859-1";<br>
        reply-type=response<br>
<br>
> In TL2018, it shows the 'actual' name:<br>
> c:/texlive/2018/texmf-dist/<wbr>tex/latex/ieeetran/IEEEtran.<wbr>cls<br>
><br>
> Maybe this is the reason of Daniel's example.<br>
><br>
> In the next TL2019,<br>
> kpsewhich ieeetran.cls<br>
> does not print anything.<br>
<br>
After discussion with some people, I decided not<br>
to change the present case-insensitive matching<br>
on Windows, even in texmf trees with ls-R.<br>
Thus, in the next TL2019 also<br>
kpsewhich ieeetran.cls<br>
shall show<br>
c:/texlive/2019/texmf-dist/<wbr>tex/latex/ieeetran/IEEEtran.<wbr>cls<br>
<br>
Best,<br>
Akira<br></blockquote></div></div></div></div></div>