четверг, 31 декабря 2015 г.

Трудно жить на две семьи

Не то чтобы я был какой-то упёртый линуксоид, но на домашнем компьютере основной системой у меня Linux. Ubuntu Linux. На работе тоже есть, но там его почти не видно, он на серверах, я туда далеко не каждый день захожу, в отличие от настольного компьютера. И вот получается такое безобразие: на работе путь к каталогу выглядит как C:\Temp (например), а дома /etc/init.d (опять же, например). Вот за каким органом микрософту в своё время понадобилось менять "/" на "\"? Я, помнится, когда сервера настраивал, каждый раз при переходе из одной системы в другую ругался на эти "прямой и обратный слэши".

Также всегда бесило, что Windows не разделяет систему и данные пользователя. В Linux как хорошо - создал отдельный раздел /home, система сама создаст там твой домашний каталог и аккуратно будет там хранить твои документы. Не, в винде тоже можно унести данные на отдельный раздел или даже диск, но нужно будет попрыгать. Ладно, я понимаю раньше диски были маленькие и их делить просто смысла не было. Сейчас-то можно! Но нет, не положено, видимо.

Ну и самое вкусное - кодировки! OEM866 (она же DOS) и Windows-1251. Это как надо было упороться, чтобы в рамках одной системы впендюрить две разные кодировки? И ведь как хитро всё запутано, без поллитры не разобраться. Просто в окошке командной строки CD "C:\Учет рабочего времени", например, сработает, а в командном файле уже нет, потому что Блокнот запишет этот путь в кодировке Windows-1251, а интерпретатору надо OEM866! У нас с начальником до сих пор война идёт по поводу русских имён каталогов. Я ему говорю, что не надо так делать, а он утверждает, что раз винда у нас русская, то надо этим пользоваться. 1С головного мозга, что с него взять! Вот и приходится мне извращаться в своих скриптах, записывая пути в правильной кодировке, чтобы всё работало. Выглядит это как-то так:

@ECHO OFF

IF NOT ExIST D:\home\%username%\nul MD D:\home\%username%
IF NOT ExIST "D:\home\%username%\Њ®Ё ¤®Єг¬Ґ­вл\nul" MD "D:\home\%username%\Њ®Ё ¤®Єг¬Ґ­вл"
IF NOT ExIST "D:\home\%username%\ђ Ў®зЁ© бв®«\nul" MD "D:\home\%username%\ђ Ў®зЁ© бв®«"

IF ExIST D:\home\user\nul RD /S /Q D:\home\user

Короче, поубивал бы.

Комментариев нет :

Отправить комментарий