Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Перетворення пакетних (* .bat) файлів DOS в сценарії командної оболонки

  1. Перетворення пакетних (* .bat) файлів DOS в сценарії командної оболонки Велике число програмістів...
  2. Перетворення пакетних (* .bat) файлів DOS в сценарії командної оболонки
  3. Перетворення пакетних (* .bat) файлів DOS в сценарії командної оболонки

Перетворення пакетних (* .bat) файлів DOS в сценарії командної оболонки

Велике число програмістів починало вивчати скриптові мови на PC, що працюють під управлінням DOS. Навіть на цьому "каліки" вдавалося створювати непогані сценарії, хоча це і вимагало значних зусиль. Іноді ще виникає потреба в перенесенні пекетних файлів DOS на платформу UNIX, у вигляді сценаріїв командної оболонки. Зазвичай це не складно, оскільки набір операторів, доступних в DOS, представляє з себе обмежена підмножина еквівалентних команд, доступних в командній оболонці.

Таблиця H-1. Ключові слова / змінні / оператори пакетних файлів DOS і їх аналоги командної оболонки

Оператори пакетних файлів Еквівалентні команди в UNIX Опис% $ префікс аргументів командного рядка / - ознака ключа (опція) \ / роздільник імен каталогів в дорозі == = (дорівнює) порівняння рядків! ==! ! = (Не дорівнює) порівняння рядків | | конвеєр (канал) @ set + v не виводити поточну команду * * в імені файлу>> перенаправлення (з видаленням існуючого файлу) >> >> перенаправлення (з додаванням в кінець існуючого файлу) <<перенаправлення вводу stdin% VAR% $ VAR змінна оточення REM # коментар NOT! заперечення подальшого умови NUL / dev / null для того, щоб "сховати" висновок команди ECHO echo висновок (в Bash має велике число опцій) ECHO. echo висновок порожнього рядка ECHO OFF set + v не виводити наступні команди FOR %% VAR IN (LIST) DO for var in [list]; do цикл: LABEL еквівалент відсутній (немає необхідності) мітка GOTO еквівалент відсутній (використовуйте функції) перехід по заданій мітці PAUSE sleep пауза, або очікування, протягом заданого часу CHOICE case або select вибір з меню IF if умовний оператор if IF EXIST FILENAME if [ -e filename] перевірка існування файлу IF!% N ==! if [-z "$ N"] Перевірка: параметр відсутній CALL source або. (Оператор "крапка") іншого сценарію COMMAND / C source або. (Оператор "крапка") іншого сценарію (те саме, що і CALL) SET export встановити змінну оточення SHIFT shift зрушення списку аргументів уомандной рядки вліво SGN -lt або -gt знак (цілого числа) ERRORLEVEL $? код завершення CON stdin (stdin) PRN / dev / lp0 пристрій принтера LPT1 / dev / lp0 пристрій принтера COM1 / dev / ttyS0 перший послідовний порт

Пакетні файли зазвичай містять виклики команд DOS. Вони повинні бути замінені еквівалентними командами UNIX.

Таблиця H-2. Команди DOS і їх еквіваленти в UNIX

Команди DOS Еувівалент в UNIX Опис ASSIGN ln посилання на файл або каталог ATTRIB chmod змінити атрибути файлу (права доступу) CD cd змінити каталог CHDIR cd змінити каталог CLS clear очистити екран COMP diff, comm, cmp порівняти файли COPY cp скопіювати файл Ctl-C Ctl -C перервати виконання сценарію Ctl-Z Ctl-D EOF (кінець-файлу) DEL rm видалити файл (и) DELTREE rm -rf видалити каталог з підкаталогами DIR ls -l вивести вміст каталогу ERASE rm видалити файл (и) eXIT exit завершити поточний процес FC comm, cmp порівняти файли FIND grep знайти рядок у файлах MD mkdir створити каталог MKDIR mkdir створити каталог MORE more посторінковий ви од MOVE mv перемістити PATH $ PATH шлях пошуку файлів REN mv перейменувати (перемістити) RENAME mv перейменувати (перемістити) RD rmdir видалити каталог RMDIR rmdir видалити каталог SORT sort впорядкувати файл TIME date вивести системне час TYPE cat вивести вміст файлу на stdout XCOPY cp ( розширена команда) скопіювати файл Команди DOS Еувівалент в UNIX Опис ASSIGN ln посилання на файл або каталог ATTRIB chmod змінити атрибути файлу (права доступу) CD cd змінити каталог CHDIR cd змінити каталог CLS clear очистити екран COMP diff, comm, cmp порівняти файли COPY cp скопіювати файл Ctl-C Ctl -C перервати виконання сценарію Ctl-Z Ctl-D EOF (кінець-файлу) DEL rm видалити файл (и) DELTREE rm -rf видалити каталог з підкаталогами DIR ls -l вивести вміст каталогу ERASE rm видалити файл (и) eXIT exit завершити поточний процес FC comm, cmp порівняти файли FIND grep знайти рядок у файлах MD mkdir створити каталог MKDIR mkdir створити каталог MORE more посторінковий ви  од MOVE mv перемістити PATH $ PATH шлях пошуку файлів REN mv перейменувати (перемістити) RENAME mv перейменувати (перемістити) RD rmdir видалити каталог RMDIR rmdir видалити каталог SORT sort впорядкувати файл TIME date вивести системне час TYPE cat вивести вміст файлу на stdout XCOPY cp ( розширена команда) скопіювати файл

Фактично, команди і оператори командної оболонки UNIX мають величезну кількість додаткових опцій, які розширюють їх функціональність, в порівнянні з їх еквівалентами в DOS. Здебільшого, пакетні файли DOS припускають наявність допоміжних утиліт, таких як ask.com ( "калік" аналог UNIX-вого read ).

DOS підтримує вкрай обмежений набір шаблонних символів, учавствующих в операціях підстановки імен файлів , Розпізнаючи тільки два символи - * і? .

Перетворення пакетних файлів DOS в сценарії командної оболонки, зазвичай не викликає труднощів, а результат такого перетворення читається набагато краще, ніж оригінал.

Приклад H-1. VIEWDATA.BAT: пакетний файл DOS

REM VIEWDATA REM INSPIRED BY AN EXAMPLE IN "DOS POWERTOOLS" REM BY PAUL SOMERSON @ECHO OFF IF!% 1 ==! GOTO VIEWDATA REM IF NO COMMAND-LINE ARG ... FIND "% 1" C: \ BOZO \ BOOKLIST.TXT GOTO EXIT0 REM PRINT LINE WITH STRING MATCH, THEN EXIT. : VIEWDATA TYPE C: \ BOZO \ BOOKLIST.TXT | MORE REM SHOW ENTIRE FILE, 1 PAGE AT A TIME. : EXIT0

Результат перетворення в сценарій командної оболонки, трохи покращений.

Приклад H-2. viewdata.sh: Результат перетворення VIEWDATA.BAT в сценарій командної оболонки

#! / Bin / bash # Результат перетворення пакетного файлу VIEWDATA.BAT в сценарій командної оболонки. DATAFILE = / home / bozo / datafiles / book-collection.data ARGNO = 1 # @ECHO OFF Ця команда тут не потрібна. if [$ # -lt "$ ARGNO"] # IF!% 1 ==! GOTO VIEWDATA then less $ DATAFILE # TYPE C: \ MYDIR \ BOOKLIST.TXT | MORE else grep "$ 1" $ DATAFILE # FIND "% 1" C: \ MYDIR \ BOOKLIST.TXT fi exit 0 #: EXIT0 # оператори переходу GOTO, мітки та інший "сміття" більше не потрібні. # Результат перетворення став коротше, чистіше і зрозуміліше,

На сайті Теда Девіса (Ted Davis) Shell Scripts on the PC , Ви знайдете велику кількість посібників зі створення пакетних файлів в DOS. Безумовно, його винахідливість буде вам корисна, при створенні ваших сценаріїв.

Перетворення пакетних (* .bat) файлів DOS в сценарії командної оболонки

Велике число програмістів починало вивчати скриптові мови на PC, що працюють під управлінням DOS. Навіть на цьому "каліки" вдавалося створювати непогані сценарії, хоча це і вимагало значних зусиль. Іноді ще виникає потреба в перенесенні пекетних файлів DOS на платформу UNIX, у вигляді сценаріїв командної оболонки. Зазвичай це не складно, оскільки набір операторів, доступних в DOS, представляє з себе обмежена підмножина еквівалентних команд, доступних в командній оболонці.

Таблиця H-1. Ключові слова / змінні / оператори пакетних файлів DOS і їх аналоги командної оболонки

Оператори пакетних файлів Еквівалентні команди в UNIX Опис% $ префікс аргументів командного рядка / - ознака ключа (опція) \ / роздільник імен каталогів в дорозі == = (дорівнює) порівняння рядків! ==! ! = (Не дорівнює) порівняння рядків | | конвеєр (канал) @ set + v не виводити поточну команду * * в імені файлу>> перенаправлення (з видаленням існуючого файлу) >> >> перенаправлення (з додаванням в кінець існуючого файлу) <<перенаправлення вводу stdin% VAR% $ VAR змінна оточення REM # коментар NOT! заперечення подальшого умови NUL / dev / null для того, щоб "сховати" висновок команди ECHO echo висновок (в Bash має велике число опцій) ECHO. echo висновок порожнього рядка ECHO OFF set + v не виводити наступні команди FOR %% VAR IN (LIST) DO for var in [list]; do цикл: LABEL еквівалент відсутній (немає необхідності) мітка GOTO еквівалент відсутній (використовуйте функції) перехід по заданій мітці PAUSE sleep пауза, або очікування, протягом заданого часу CHOICE case або select вибір з меню IF if умовний оператор if IF EXIST FILENAME if [ -e filename] перевірка існування файлу IF!% N ==! if [-z "$ N"] Перевірка: параметр відсутній CALL source або. (Оператор "крапка") іншого сценарію COMMAND / C source або. (Оператор "крапка") іншого сценарію (те саме, що і CALL) SET export встановити змінну оточення SHIFT shift зрушення списку аргументів уомандной рядки вліво SGN -lt або -gt знак (цілого числа) ERRORLEVEL $? код завершення CON stdin (stdin) PRN / dev / lp0 пристрій принтера LPT1 / dev / lp0 пристрій принтера COM1 / dev / ttyS0 перший послідовний порт

Пакетні файли зазвичай містять виклики команд DOS. Вони повинні бути замінені еквівалентними командами UNIX.

Таблиця H-2. Команди DOS і їх еквіваленти в UNIX

Команди DOS Еувівалент в UNIX Опис ASSIGN ln посилання на файл або каталог ATTRIB chmod змінити атрибути файлу (права доступу) CD cd змінити каталог CHDIR cd змінити каталог CLS clear очистити екран COMP diff, comm, cmp порівняти файли COPY cp скопіювати файл Ctl-C Ctl -C перервати виконання сценарію Ctl-Z Ctl-D EOF (кінець-файлу) DEL rm видалити файл (и) DELTREE rm -rf видалити каталог з підкаталогами DIR ls -l вивести вміст каталогу ERASE rm видалити файл (и) eXIT exit завершити поточний процес FC comm, cmp порівняти файли FIND grep знайти рядок у файлах MD mkdir створити каталог MKDIR mkdir створити каталог MORE more посторінковий ви од MOVE mv перемістити PATH $ PATH шлях пошуку файлів REN mv перейменувати (перемістити) RENAME mv перейменувати (перемістити) RD rmdir видалити каталог RMDIR rmdir видалити каталог SORT sort впорядкувати файл TIME date вивести системне час TYPE cat вивести вміст файлу на stdout XCOPY cp ( розширена команда) скопіювати файл Команди DOS Еувівалент в UNIX Опис ASSIGN ln посилання на файл або каталог ATTRIB chmod змінити атрибути файлу (права доступу) CD cd змінити каталог CHDIR cd змінити каталог CLS clear очистити екран COMP diff, comm, cmp порівняти файли COPY cp скопіювати файл Ctl-C Ctl -C перервати виконання сценарію Ctl-Z Ctl-D EOF (кінець-файлу) DEL rm видалити файл (и) DELTREE rm -rf видалити каталог з підкаталогами DIR ls -l вивести вміст каталогу ERASE rm видалити файл (и) eXIT exit завершити поточний процес FC comm, cmp порівняти файли FIND grep знайти рядок у файлах MD mkdir створити каталог MKDIR mkdir створити каталог MORE more посторінковий ви  од MOVE mv перемістити PATH $ PATH шлях пошуку файлів REN mv перейменувати (перемістити) RENAME mv перейменувати (перемістити) RD rmdir видалити каталог RMDIR rmdir видалити каталог SORT sort впорядкувати файл TIME date вивести системне час TYPE cat вивести вміст файлу на stdout XCOPY cp ( розширена команда) скопіювати файл

Фактично, команди і оператори командної оболонки UNIX мають величезну кількість додаткових опцій, які розширюють їх функціональність, в порівнянні з їх еквівалентами в DOS. Здебільшого, пакетні файли DOS припускають наявність допоміжних утиліт, таких як ask.com ( "калік" аналог UNIX-вого read ).

DOS підтримує вкрай обмежений набір шаблонних символів, учавствующих в операціях підстановки імен файлів , Розпізнаючи тільки два символи - * і? .

Перетворення пакетних файлів DOS в сценарії командної оболонки, зазвичай не викликає труднощів, а результат такого перетворення читається набагато краще, ніж оригінал.

Приклад H-1. VIEWDATA.BAT: пакетний файл DOS

REM VIEWDATA REM INSPIRED BY AN EXAMPLE IN "DOS POWERTOOLS" REM BY PAUL SOMERSON @ECHO OFF IF!% 1 ==! GOTO VIEWDATA REM IF NO COMMAND-LINE ARG ... FIND "% 1" C: \ BOZO \ BOOKLIST.TXT GOTO EXIT0 REM PRINT LINE WITH STRING MATCH, THEN EXIT. : VIEWDATA TYPE C: \ BOZO \ BOOKLIST.TXT | MORE REM SHOW ENTIRE FILE, 1 PAGE AT A TIME. : EXIT0

Результат перетворення в сценарій командної оболонки, трохи покращений.

Приклад H-2. viewdata.sh: Результат перетворення VIEWDATA.BAT в сценарій командної оболонки

#! / Bin / bash # Результат перетворення пакетного файлу VIEWDATA.BAT в сценарій командної оболонки. DATAFILE = / home / bozo / datafiles / book-collection.data ARGNO = 1 # @ECHO OFF Ця команда тут не потрібна. if [$ # -lt "$ ARGNO"] # IF!% 1 ==! GOTO VIEWDATA then less $ DATAFILE # TYPE C: \ MYDIR \ BOOKLIST.TXT | MORE else grep "$ 1" $ DATAFILE # FIND "% 1" C: \ MYDIR \ BOOKLIST.TXT fi exit 0 #: EXIT0 # оператори переходу GOTO, мітки та інший "сміття" більше не потрібні. # Результат перетворення став коротше, чистіше і зрозуміліше,

На сайті Теда Девіса (Ted Davis) Shell Scripts on the PC , Ви знайдете велику кількість посібників зі створення пакетних файлів в DOS. Безумовно, його винахідливість буде вам корисна, при створенні ваших сценаріїв.

Перетворення пакетних (* .bat) файлів DOS в сценарії командної оболонки

Велике число програмістів починало вивчати скриптові мови на PC, що працюють під управлінням DOS. Навіть на цьому "каліки" вдавалося створювати непогані сценарії, хоча це і вимагало значних зусиль. Іноді ще виникає потреба в перенесенні пекетних файлів DOS на платформу UNIX, у вигляді сценаріїв командної оболонки. Зазвичай це не складно, оскільки набір операторів, доступних в DOS, представляє з себе обмежена підмножина еквівалентних команд, доступних в командній оболонці.

Таблиця H-1. Ключові слова / змінні / оператори пакетних файлів DOS і їх аналоги командної оболонки

Оператори пакетних файлів Еквівалентні команди в UNIX Опис% $ префікс аргументів командного рядка / - ознака ключа (опція) \ / роздільник імен каталогів в дорозі == = (дорівнює) порівняння рядків! ==! ! = (Не дорівнює) порівняння рядків | | конвеєр (канал) @ set + v не виводити поточну команду * * в імені файлу>> перенаправлення (з видаленням існуючого файлу) >> >> перенаправлення (з додаванням в кінець існуючого файлу) <<перенаправлення вводу stdin% VAR% $ VAR змінна оточення REM # коментар NOT! заперечення подальшого умови NUL / dev / null для того, щоб "сховати" висновок команди ECHO echo висновок (в Bash має велике число опцій) ECHO. echo висновок порожнього рядка ECHO OFF set + v не виводити наступні команди FOR %% VAR IN (LIST) DO for var in [list]; do цикл: LABEL еквівалент відсутній (немає необхідності) мітка GOTO еквівалент відсутній (використовуйте функції) перехід по заданій мітці PAUSE sleep пауза, або очікування, протягом заданого часу CHOICE case або select вибір з меню IF if умовний оператор if IF EXIST FILENAME if [ -e filename] перевірка існування файлу IF!% N ==! if [-z "$ N"] Перевірка: параметр відсутній CALL source або. (Оператор "крапка") іншого сценарію COMMAND / C source або. (Оператор "крапка") іншого сценарію (те саме, що і CALL) SET export встановити змінну оточення SHIFT shift зрушення списку аргументів уомандной рядки вліво SGN -lt або -gt знак (цілого числа) ERRORLEVEL $? код завершення CON stdin (stdin) PRN / dev / lp0 пристрій принтера LPT1 / dev / lp0 пристрій принтера COM1 / dev / ttyS0 перший послідовний порт

Пакетні файли зазвичай містять виклики команд DOS. Вони повинні бути замінені еквівалентними командами UNIX.

Таблиця H-2. Команди DOS і їх еквіваленти в UNIX

Команди DOS Еувівалент в UNIX Опис ASSIGN ln посилання на файл або каталог ATTRIB chmod змінити атрибути файлу (права доступу) CD cd змінити каталог CHDIR cd змінити каталог CLS clear очистити екран COMP diff, comm, cmp порівняти файли COPY cp скопіювати файл Ctl-C Ctl -C перервати виконання сценарію Ctl-Z Ctl-D EOF (кінець-файлу) DEL rm видалити файл (и) DELTREE rm -rf видалити каталог з підкаталогами DIR ls -l вивести вміст каталогу ERASE rm видалити файл (и) eXIT exit завершити поточний процес FC comm, cmp порівняти файли FIND grep знайти рядок у файлах MD mkdir створити каталог MKDIR mkdir створити каталог MORE more посторінковий ви од MOVE mv перемістити PATH $ PATH шлях пошуку файлів REN mv перейменувати (перемістити) RENAME mv перейменувати (перемістити) RD rmdir видалити каталог RMDIR rmdir видалити каталог SORT sort впорядкувати файл TIME date вивести системне час TYPE cat вивести вміст файлу на stdout XCOPY cp ( розширена команда) скопіювати файл Команди DOS Еувівалент в UNIX Опис ASSIGN ln посилання на файл або каталог ATTRIB chmod змінити атрибути файлу (права доступу) CD cd змінити каталог CHDIR cd змінити каталог CLS clear очистити екран COMP diff, comm, cmp порівняти файли COPY cp скопіювати файл Ctl-C Ctl -C перервати виконання сценарію Ctl-Z Ctl-D EOF (кінець-файлу) DEL rm видалити файл (и) DELTREE rm -rf видалити каталог з підкаталогами DIR ls -l вивести вміст каталогу ERASE rm видалити файл (и) eXIT exit завершити поточний процес FC comm, cmp порівняти файли FIND grep знайти рядок у файлах MD mkdir створити каталог MKDIR mkdir створити каталог MORE more посторінковий ви  од MOVE mv перемістити PATH $ PATH шлях пошуку файлів REN mv перейменувати (перемістити) RENAME mv перейменувати (перемістити) RD rmdir видалити каталог RMDIR rmdir видалити каталог SORT sort впорядкувати файл TIME date вивести системне час TYPE cat вивести вміст файлу на stdout XCOPY cp ( розширена команда) скопіювати файл

Фактично, команди і оператори командної оболонки UNIX мають величезну кількість додаткових опцій, які розширюють їх функціональність, в порівнянні з їх еквівалентами в DOS. Здебільшого, пакетні файли DOS припускають наявність допоміжних утиліт, таких як ask.com ( "калік" аналог UNIX-вого read ).

DOS підтримує вкрай обмежений набір шаблонних символів, учавствующих в операціях підстановки імен файлів , Розпізнаючи тільки два символи - * і? .

Перетворення пакетних файлів DOS в сценарії командної оболонки, зазвичай не викликає труднощів, а результат такого перетворення читається набагато краще, ніж оригінал.

Приклад H-1. VIEWDATA.BAT: пакетний файл DOS

REM VIEWDATA REM INSPIRED BY AN EXAMPLE IN "DOS POWERTOOLS" REM BY PAUL SOMERSON @ECHO OFF IF!% 1 ==! GOTO VIEWDATA REM IF NO COMMAND-LINE ARG ... FIND "% 1" C: \ BOZO \ BOOKLIST.TXT GOTO EXIT0 REM PRINT LINE WITH STRING MATCH, THEN EXIT. : VIEWDATA TYPE C: \ BOZO \ BOOKLIST.TXT | MORE REM SHOW ENTIRE FILE, 1 PAGE AT A TIME. : EXIT0

Результат перетворення в сценарій командної оболонки, трохи покращений.

Приклад H-2. viewdata.sh: Результат перетворення VIEWDATA.BAT в сценарій командної оболонки

#! / Bin / bash # Результат перетворення пакетного файлу VIEWDATA.BAT в сценарій командної оболонки. DATAFILE = / home / bozo / datafiles / book-collection.data ARGNO = 1 # @ECHO OFF Ця команда тут не потрібна. if [$ # -lt "$ ARGNO"] # IF!% 1 ==! GOTO VIEWDATA then less $ DATAFILE # TYPE C: \ MYDIR \ BOOKLIST.TXT | MORE else grep "$ 1" $ DATAFILE # FIND "% 1" C: \ MYDIR \ BOOKLIST.TXT fi exit 0 #: EXIT0 # оператори переходу GOTO, мітки та інший "сміття" більше не потрібні. # Результат перетворення став коротше, чистіше і зрозуміліше,

На сайті Теда Девіса (Ted Davis) Shell Scripts on the PC , Ви знайдете велику кількість посібників зі створення пакетних файлів в DOS. Безумовно, його винахідливість буде вам корисна, при створенні ваших сценаріїв.

Перетворення пакетних (* .bat) файлів DOS в сценарії командної оболонки

Велике число програмістів починало вивчати скриптові мови на PC, що працюють під управлінням DOS. Навіть на цьому "каліки" вдавалося створювати непогані сценарії, хоча це і вимагало значних зусиль. Іноді ще виникає потреба в перенесенні пекетних файлів DOS на платформу UNIX, у вигляді сценаріїв командної оболонки. Зазвичай це не складно, оскільки набір операторів, доступних в DOS, представляє з себе обмежена підмножина еквівалентних команд, доступних в командній оболонці.

Таблиця H-1. Ключові слова / змінні / оператори пакетних файлів DOS і їх аналоги командної оболонки

Оператори пакетних файлів Еквівалентні команди в UNIX Опис% $ префікс аргументів командного рядка / - ознака ключа (опція) \ / роздільник імен каталогів в дорозі == = (дорівнює) порівняння рядків! ==! ! = (Не дорівнює) порівняння рядків | | конвеєр (канал) @ set + v не виводити поточну команду * * в імені файлу>> перенаправлення (з видаленням існуючого файлу) >> >> перенаправлення (з додаванням в кінець існуючого файлу) <<перенаправлення вводу stdin% VAR% $ VAR змінна оточення REM # коментар NOT! заперечення подальшого умови NUL / dev / null для того, щоб "сховати" висновок команди ECHO echo висновок (в Bash має велике число опцій) ECHO. echo висновок порожнього рядка ECHO OFF set + v не виводити наступні команди FOR %% VAR IN (LIST) DO for var in [list]; do цикл: LABEL еквівалент відсутній (немає необхідності) мітка GOTO еквівалент відсутній (використовуйте функції) перехід по заданій мітці PAUSE sleep пауза, або очікування, протягом заданого часу CHOICE case або select вибір з меню IF if умовний оператор if IF EXIST FILENAME if [ -e filename] перевірка існування файлу IF!% N ==! if [-z "$ N"] Перевірка: параметр відсутній CALL source або. (Оператор "крапка") іншого сценарію COMMAND / C source або. (Оператор "крапка") іншого сценарію (те саме, що і CALL) SET export встановити змінну оточення SHIFT shift зрушення списку аргументів уомандной рядки вліво SGN -lt або -gt знак (цілого числа) ERRORLEVEL $? код завершення CON stdin (stdin) PRN / dev / lp0 пристрій принтера LPT1 / dev / lp0 пристрій принтера COM1 / dev / ttyS0 перший послідовний порт

Пакетні файли зазвичай містять виклики команд DOS. Вони повинні бути замінені еквівалентними командами UNIX.

Таблиця H-2. Команди DOS і їх еквіваленти в UNIX

Команди DOS Еувівалент в UNIX Опис ASSIGN ln посилання на файл або каталог ATTRIB chmod змінити атрибути файлу (права доступу) CD cd змінити каталог CHDIR cd змінити каталог CLS clear очистити екран COMP diff, comm, cmp порівняти файли COPY cp скопіювати файл Ctl-C Ctl -C перервати виконання сценарію Ctl-Z Ctl-D EOF (кінець-файлу) DEL rm видалити файл (и) DELTREE rm -rf видалити каталог з підкаталогами DIR ls -l вивести вміст каталогу ERASE rm видалити файл (и) eXIT exit завершити поточний процес FC comm, cmp порівняти файли FIND grep знайти рядок у файлах MD mkdir створити каталог MKDIR mkdir створити каталог MORE more посторінковий ви од MOVE mv перемістити PATH $ PATH шлях пошуку файлів REN mv перейменувати (перемістити) RENAME mv перейменувати (перемістити) RD rmdir видалити каталог RMDIR rmdir видалити каталог SORT sort впорядкувати файл TIME date вивести системне час TYPE cat вивести вміст файлу на stdout XCOPY cp ( розширена команда) скопіювати файл Команди DOS Еувівалент в UNIX Опис ASSIGN ln посилання на файл або каталог ATTRIB chmod змінити атрибути файлу (права доступу) CD cd змінити каталог CHDIR cd змінити каталог CLS clear очистити екран COMP diff, comm, cmp порівняти файли COPY cp скопіювати файл Ctl-C Ctl -C перервати виконання сценарію Ctl-Z Ctl-D EOF (кінець-файлу) DEL rm видалити файл (и) DELTREE rm -rf видалити каталог з підкаталогами DIR ls -l вивести вміст каталогу ERASE rm видалити файл (и) eXIT exit завершити поточний процес FC comm, cmp порівняти файли FIND grep знайти рядок у файлах MD mkdir створити каталог MKDIR mkdir створити каталог MORE more посторінковий ви  од MOVE mv перемістити PATH $ PATH шлях пошуку файлів REN mv перейменувати (перемістити) RENAME mv перейменувати (перемістити) RD rmdir видалити каталог RMDIR rmdir видалити каталог SORT sort впорядкувати файл TIME date вивести системне час TYPE cat вивести вміст файлу на stdout XCOPY cp ( розширена команда) скопіювати файл

Фактично, команди і оператори командної оболонки UNIX мають величезну кількість додаткових опцій, які розширюють їх функціональність, в порівнянні з їх еквівалентами в DOS. Здебільшого, пакетні файли DOS припускають наявність допоміжних утиліт, таких як ask.com ( "калік" аналог UNIX-вого read ).

DOS підтримує вкрай обмежений набір шаблонних символів, учавствующих в операціях підстановки імен файлів , Розпізнаючи тільки два символи - * і? .

Перетворення пакетних файлів DOS в сценарії командної оболонки, зазвичай не викликає труднощів, а результат такого перетворення читається набагато краще, ніж оригінал.

Приклад H-1. VIEWDATA.BAT: пакетний файл DOS

REM VIEWDATA REM INSPIRED BY AN EXAMPLE IN "DOS POWERTOOLS" REM BY PAUL SOMERSON @ECHO OFF IF!% 1 ==! GOTO VIEWDATA REM IF NO COMMAND-LINE ARG ... FIND "% 1" C: \ BOZO \ BOOKLIST.TXT GOTO EXIT0 REM PRINT LINE WITH STRING MATCH, THEN EXIT. : VIEWDATA TYPE C: \ BOZO \ BOOKLIST.TXT | MORE REM SHOW ENTIRE FILE, 1 PAGE AT A TIME. : EXIT0

Результат перетворення в сценарій командної оболонки, трохи покращений.

Приклад H-2. viewdata.sh: Результат перетворення VIEWDATA.BAT в сценарій командної оболонки

#! / Bin / bash # Результат перетворення пакетного файлу VIEWDATA.BAT в сценарій командної оболонки. DATAFILE = / home / bozo / datafiles / book-collection.data ARGNO = 1 # @ECHO OFF Ця команда тут не потрібна. if [$ # -lt "$ ARGNO"] # IF!% 1 ==! GOTO VIEWDATA then less $ DATAFILE # TYPE C: \ MYDIR \ BOOKLIST.TXT | MORE else grep "$ 1" $ DATAFILE # FIND "% 1" C: \ MYDIR \ BOOKLIST.TXT fi exit 0 #: EXIT0 # оператори переходу GOTO, мітки та інший "сміття" більше не потрібні. # Результат перетворення став коротше, чистіше і зрозуміліше,

На сайті Теда Девіса (Ted Davis) Shell Scripts on the PC , Ви знайдете велику кількість посібників зі створення пакетних файлів в DOS. Безумовно, його винахідливість буде вам корисна, при створенні ваших сценаріїв.

Новости

Фольгированные шары с гелием
Для начала давайте разберемся и чего же выполнен фольгированный шар и почему он летает дольше?! Как вы помните, наши латексные шарики достаточно пористые, поэтому их приходится обрабатывать специальным

Все товары для праздника оптом купить
Как сделать правильный выбор в работе, бизнесе и жизни, о котором никогда не придется жалеть. Мы хотим рассказать вам об удивительной и очень простой технике 7 вопросов, которые позволят оценить ситуацию

Как сделать красивую снежинку из бумаги
Красивые бумажные снежинки станут хорошим украшением дома на Новый год. Они создадут в квартире атмосферу белоснежной, зимней сказки. Да и просто занимаясь вырезанием из бумаги снежинок разнообразной

Пиротехника своими руками в домашних
Самые лучшие полезные самоделки рунета! Как сделать самому, мастер-классы, фото, чертежи, инструкции, книги, видео. Главная САМОДЕЛКИ Дизайнерские

Аниматоры на детские праздники в Зеленограде
Уж сколько раз твердили миру…Что готовиться ко дню рождения нужно заранее, а не бегать в предпраздничный день угорелой кошкой. Нельзя впихнуть в 24 часа дела, рассчитанные на недели. К празднику нужно

Надувные шарики с гелием с доставкой
На праздники часто бывают востребованы воздушные шарики, надутые гелием. Обычно, их покупают уже готовыми (надутыми) и привозят на праздник. Или, приглашают специалистов, которые приезжают и надувают

2400 наименований пиротехники
В последние десятилетия наша страна может похвастаться появлением нескольких десятков отечественных производителей, специализирующихся на выпуске пиротехники. Если вы сомневаетесь, какой фейерверк заказать,

Как сделать из бумаги самолет
 1. Самолеты сделанный по первой и второй схеме являются самыми распространенными. Собирается такое оригами своими руками достаточно быстро, несмотря на это самолет летит достаточно далеко за счет свое

Суши доставка меню
В последние годы японская кухня стала очень популярной в нашей стране. И найти современного человека, который бы никогда не пробовал суши и роллы очень сложно. Но как правильно кушать суши палочками

Обеденные группы для маленькой кухни
Любой дом начинается с кухонной комнаты, а хороший дом - с уютной кухни. Уютной назвать кухню можно, если все в ней гармонично подобрано в соответствии с вашими вкусами и в едином стиле. Многие люди