Smitis
Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору ComradG Это понятно. Непонятно, почему они в одинаковом контексте по разному интерпретируются. И вот ещё пример. Допустим, есть папка c:\test Командный файл test1.cmd Код: @echo off cd /d c:\test md aaa cd aaa echo. > file1.txt echo. > file2.txt echo ====================== CMD =========================== dir pause echo ====================== PS ============================ powershell /c dir pause | Запускаю. Получаю содержимое папки c:\test\aaa два раза А теперь командный файл test2.cmd Код: @echo off cd /d c:\test md [a] cd [a] echo. > file1.txt echo. > file2.txt echo ====================== CMD =========================== dir pause echo ====================== PS ============================ powershell /c dir pause | Запускаю. Первый вывод (тот что делаем dir из cmd) показывает содержимое папки c:\test\[a]. Т.е., пока всё нормально, папка создалась, файлы на месте. Но вот PS на этот раз выводит не содержимое текущей папки, а содержимое корня диска C:\ Т.е. PS не адекватно воспринимает файлы/папки содержащие, с его точки зрения, специальные символы, которые, тем не менее, разрешённы операционной системой. Заэкранировать их, естественно, невозможно, т.к. напрямую в PS они не используются. Добавлено: Вру, заэкранировать спецсимволы "можно"! ("можно" в кавычках) Командный файл test3.cmd Код: @echo off cd /d c:\test md [1] cd [1] echo. > file1.txt echo. > file2.txt cd .. md `[1`] cd `[1`] echo. > file3.txt echo. > file4.txt echo ====================== CMD =========================== dir pause echo ====================== PS ============================ powershell /c dir pause | Т.е., что бы PS нормально работал с папкой [1] пришлось создать ещё и папку `[1`]. Бред.
---------- Разум когда-нибудь победит |
| Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 10:47 14-09-2010 | Исправлено: Smitis, 10:51 14-09-2010 |
|