Главная » 2018 » Март » 19 » Командные файлы (примеры)
15:04
Командные файлы (примеры)

Подключить ЯндексДиск в качестве сетевого

@echo off
echo.
echo.
echo Подождите...
net use w: https://webdav.yandex.ru пароль /USER:логин
rem Пустые кавычки ниже обязательны
start "" "w:\"

 

Создание папки с текущей датой

@echo off
color 17
echo.
echo ************
echo Создаю папку
echo ************
echo.
echo.

md %date%
echo.
echo Закроюсь через секунду...
ping -n 1 -w 1000 127.0.0.1 > nul



Удаление папки , если та существует и создание ее заново:

if exist new rd /s /q new
md new


Создание файлов на основе исходных, оставив только части строк:

find /n /v - вывод номеров (ключ /n) и строк, НЕ содержащих указанное в кавычках (ключ /n)
[цифра] - номер нужной строки
FOR /F ["ключи"] %переменная IN (набор-файлов) DO команда [параметры]
FOR /F ["ключи"] %переменная IN ("строка") DO команда [параметры]
FOR /F ["ключи"] %переменная IN ('команда') DO команда [параметры]

или, если использован параметр usebackq:

usebackq - применение новой семантики, при которой строка, заключенная в обратные кавычки, выполняется как команда, строка, заключенная в прямые одиночные кавычки, является строкой-литералом, а двойные кавычки могут использоваться для задания имен файлов в наборе.
Используется, если искомый элемент содержит пробел. А в этом случае нужно использовать двойные кавычки. Иначе двойные кавычки будут восприняты как определение строки-литерала для разбора.

FOR /F ["ключи"] %переменная IN (набор-файлов) DO команда [параметры]
FOR /F ["ключи"] %переменная IN ('строка') DO команда [параметры]
FOR /F ["ключи"] %переменная IN (`команда`) DO команда [параметры]

Пример:
for /f "tokens=*" %%i in ('dir /b *.txt') do (
for /f "usebackq delims=     tokens=2" %%j in (`find /n /v "" %%i ^| find "[9]"`) do echo %%j >> new/2-%%i)

здесь разделителем является табуляция
Символ "^" используется для экранирования специальных символов, которые по синтаксису несут особую нагрузку. Например, echo ^<html^>
Символ "|" Считывает выходные данные одной команды и записывает их на вход другой команды. Эта процедура известна под названием «канал».

Пример:
for /f "tokens=*" %%i in ('dir /b *.txt') do (
for /f "skip=10 delims=     tokens=2" %%j in (%%i) do echo %%j >> new/2-%%i)

здесь разделителем является пробел

for /f "tokens=*" %%i in ('dir /b *.txt') do (
for /f "usebackq delims=     tokens=2" %%j in (`find /n /v "" %%i ^| find "[10]"`) do echo %%j >> new/2-%%i)



Создание файлов на основе исходных, оставив только 6 строк, пропустив первые 5

for /f "tokens=*" %%i in ('dir /b *.txt') do (
for /f "skip=5 delims=* tokens=1-6" %%j in (%%i) do (
echo %%j >> new/2-%%i
echo %%k >> new/2-%%i
echo %%l >> new/2-%%i
echo %%m >> new/2-%%i
echo %%n >> new/2-%%i
echo %%o >> new/2-%%i)
)


Скрыть окно командного файла при запуске программы можно, добавив "start" перед строкой вызова программы

Категория: Работа с Windows | Просмотров: 332 | Добавил: Dimon8x | Рейтинг: 0.0/0
Всего комментариев: 0