shell expansion produces e.g. "ls: cannot access '*.pdf': No such file or directory" in Windows CMD shell, but works okay in bash

Jay Libove libove@felines.org
Sun Mar 22 17:50:51 GMT 2020


I've never seen this before.
In a Windows CMD shell, Cygwin shell expansion, for example:
ls *.pdf

returns:
ls: cannot access '*.PDF': No such file or directory
(Indeed, any Cygwin shell expansion, when executed from within Windows CMD, produces this error. See below)

ls *someotherwildcard* (that matches the same .pdf files) DOES return the expected file list.

Example:

C:> DIR *.pdf
Volume in drive C is C
Volume Serial Number is 8674-712A

Directory of C:\Temp

22/03/2020  18:30         1.675.954 test.pdf
XX/XX/XXXX  XX:XX         {Any many other .pdf files}

Yet:

C:> ls *.pdf
ls: cannot access '*.pdf': No such file or directory

And:
C:> bash
user@hostname /cygdrive/C/Temp/test
$ ls *.pdf
A.pdf
B.pdf
{etc}

And, not ALL of the *.pdf files in the particular directory where I've encountered this trigger the problem...

C:> ls N*.pdf
N.pdf

C:> ls A*.pdf
ls: cannot access 'A*.pdf': No such file or directory

Nor do all directories containing .pdf files produce this. Of the many thousands of files and directories that I have, only some produce this problem.
In others, ls *.pdf works perfectly in Windows CMD.

I've looked at the Windows ATTRIB and CACLS of the files in directories where this problem occurs.
They're all the same. That is, uniform across all files and directories. Nothing interesting.

It's not just 'ls':

C:> cat *.pdf
cat: '*.pdf': No such file or directory

So, it appears to be Cygwin shell expansion, when executed under Windows CMD, which is provoking this strange behavior.
Any ideas what could be causing this, and how to solve it?

many thanks,
Jay




More information about the Cygwin mailing list