/cygdrive/c и C:\ разные

Я пытаюсь запустить пакетные сценарии через OpenSSH в Windows 8.1, но получаю следующее сообщение:

bash: /cygdrive/c/Windows/System32/boot8.bat: No such file or directory

Почему-то среда cygwin неправильно сопоставляет C:\ с /cydrive/c

Просто чтобы убедиться, вот что говорит mount:

$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)

Итак, используя оболочку cygwin, я получаю такой результат:

$ ls -Al /cygdrive/c/Windows/System32 | grep  boot
-rwxrwx---+  2 TrustedInstaller TrustedInstaller     3072 Aug 22 06:14 api-ms-win-base-bootconfig-l1-1-0.dll
-rwxrwx---+  2 TrustedInstaller TrustedInstaller  3170304 Jun 18 14:43 boot.sdi
-rwxrwx---+  2 TrustedInstaller TrustedInstaller    79360 Aug 22 05:49 bootcfg.exe

Однако, если я использую окно cmd, я вижу файл:

C:\Windows\System32>dir | findstr boot
22/08/2013  12:21           165,376 bcdboot.exe
18/06/2013  16:08         3,170,304 boot.sdi
01/08/2013  15:24               290 boot7.bat
04/11/2013  16:00               298 boot8.bat
22/08/2013  12:15            87,040 bootcfg.exe
22/08/2013  10:17            13,312 bootim.exe
22/08/2013  13:45           109,408 bootsect.exe
22/08/2013  12:44             2,560 bootstr.dll
22/08/2013  10:07         3,311,616 bootux.dll
19/11/2013  16:42               307 bootxp.bat

Используя проводник Windows, я также вижу файл boot8.bat.

Он работает под Windows XP и Windows 7. Не имеет значения, используете ли вы заглавные буквы для каталогов Windows и system32. У меня была эта проблема раньше, когда я редактировал файлы с помощью блокнота ++, и когда я позже открывал их с помощью блокнота, они не менялись.

Любые идеи?


person repat    schedule 19.11.2013    source источник
comment
Попробуйте это ls -al /cygdrive/c/Windows/System32 | grep -i boot   -  person benjarobin    schedule 19.11.2013
comment
возможно, Windows перенаправляет ваш доступ к каталогу system32 на syswow64, потому что ваша установка cygwin 32-битная   -  person T.V.    schedule 19.11.2013
comment
Спасибо, это решило это. Я только что сделал символическую ссылку с помощью ln -s на машинах XP и Win7, чтобы использовать тот же скрипт.   -  person repat    schedule 22.11.2013


Ответы (1)


пытаться

ls -Al /cygdrive/c/Windows/sysnative | grep boot
person T.V.    schedule 19.11.2013