Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: bomzzz
Дата сообщения: 16.01.2010 21:08
почувствуй разницу

ECHO OFF
COLOR 9F
CLS
DIR C:\*.* /A:H,S,R,A
DIR C:\*.* /A:-H,S,R,A
pause


/A Вывод файлов с указанными атрибутами.
атрибуты D Каталоги R Доступные только для чтения
H Скрытые файлы A Файлы для архивирования
S Системные файлы Префикс "-" имеет значение НЕ
Стандартный набор ключей можно записать в переменную среды DIRCMD. Для отмены
их действия введите в команде те же ключи с префиксом "-", например: /-W.
Автор: mugil_cephalus
Дата сообщения: 16.01.2010 21:28
bomzzz
X:\44>dir /b/a:h,s,a
Файл не найден

X:\44>dir /b/a:-h,s,a
Файл не найден

X:\44>

1) как объяснить - сам не знаю
2) для визуального удобства:

Цитата:
что имеем:
папка X:\44
в ней файлы (filenames) без расширения и с атрибутами:

1) simple - A
2) hid - AH
3) sys - AS
4) sys-hid - ASH

listing:

X:\44>dir /b/a-d/ah/as
sys
sys-hid

X:\44>

почему выводит файл с атрибутом "только S" - sys (AS), но не выводит файл с атрибутом "только H" - hid (AH) ?

резюмируя, в командах ключи с несколькими атрибутами обрабатываются по принципу "И" или "ИЛИ"
если "И" - не должно выводится sys (AS), а только sys-hid (ASH)
если "ИЛИ" - почему есть sys (AS) и нет hid (AH)

Автор: lumb2007
Дата сообщения: 16.01.2010 21:28
net share 1=H:\1 /GRANT:Все,FULL
net share 2=H:\2 /GRANT:Все,FULL
net share 3=I:\3 /GRANT:Все,FULL
не работает, что я забыл?
Автор: mugil_cephalus
Дата сообщения: 16.01.2010 21:35
lumb2007
сохранил батник в 866-ой кодировке?
Автор: bomzzz
Дата сообщения: 16.01.2010 21:37
X:\44>dir /b/a:-h,s,a
я не знаю че ета за конструкция
cd x:\44
dir

lumb2007
сохранил батник в 866-ой кодировке?

нет скопировал с экрана
Автор: mugil_cephalus
Дата сообщения: 16.01.2010 21:42
bomzzz

Цитата:
почувствуй разницу

да про разницу знаю и про переменную среды DIRCMD
на c:\ много файлов с разными атрибутами - вот и сделал тестовую папку "44" на диске X: с тестовыми файлами
Автор: lumb2007
Дата сообщения: 16.01.2010 21:44
если запускать через cmd работает
Если это же в .bat не работает
Если это же без /GRANT:Все,FULL - работает
в ANSI
Автор: bomzzz
Дата сообщения: 16.01.2010 21:45
там файлы и папки с разными атрибутами - у файлов как раз одинаковые атрибуты
Автор: mugil_cephalus
Дата сообщения: 16.01.2010 21:55
bomzzz
вопрос снят - http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=2160#13

Добавлено:
lumb2007

Цитата:
Если это же в .bat не работает

сохрани *.bat в dos-кодировке ,наприммер, wordpad'om
Автор: tanichkabanichka
Дата сообщения: 17.01.2010 17:00
mugil_cephalus


Код: for %%i in (bqb bvu rbs qiv) do for /f "tokens=*" %%a in ('dir /b/s/a-d/ah c:\*.%%i') do del /p /ah "%%a" &&if not exist "%%a" (echo %%a)>>c:\remlist.txt 2>&1
Автор: mugil_cephalus
Дата сообщения: 17.01.2010 17:08
chcp 1251>nul
for %%B in (a b c d e f g h) do call:_1 %%B
pause
goto:eof

:_1
for %%i in (bqb bvu rbs qiv) do for /f "tokens=*" %%a in ('dir /b/s/a-d %1:\*.%%i') do del /p /a: "%%a" &&if not exist "%%a" (echo %%a)>>%~dp0remlist.txt 2>&1
goto:eof
Автор: tanichkabanichka
Дата сообщения: 17.01.2010 17:12

Код: chcp 1251>nul
for %%B in (a b c d e f g h) do call:_1 %%B
pause
goto:eof

:_1
for %%i in (bqb bvu rbs qiv) do for /f "tokens=*" %%a in ('dir /b/s/a-d %1:\*.%%i') do del /p /a: "%%a" &&if not exist "%%a" (echo %%a)>>%~dp0remlist.txt 2>&1
goto:eof
Автор: mugil_cephalus
Дата сообщения: 17.01.2010 17:17
tanichkabanichka
запусти батник из окна консоли - чего там стопориться
Автор: tanichkabanichka
Дата сообщения: 17.01.2010 17:28
Никакой разницы

Автор: mugil_cephalus
Дата сообщения: 17.01.2010 17:38
тестирую и жду (60 Gb инфы HDD) ~ 10 минут

Добавлено:
tanichkabanichka
[more=listing]
G:\scripts\test>chcp 1251 1>nul

G:\scripts\test>for %B in (a b c d e f g h) do call:_1 %B

G:\scripts\test>call:_1 a

G:\scripts\test>for %i in (jpg8 jpg9) do for /F "tokens=*" %a in ('dir /b/s/a-d a:\*.%i') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>
>G:\scripts\test\remlist.txt 2>&1

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d a:\*.jpg8') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Устройство не готово.

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d a:\*.jpg9') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Устройство не готово.

G:\scripts\test>goto:eof

G:\scripts\test>call:_1 b

G:\scripts\test>for %i in (jpg8 jpg9) do for /F "tokens=*" %a in ('dir /b/s/a-d b:\*.%i') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>
>G:\scripts\test\remlist.txt 2>&1

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d b:\*.jpg8') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Системе не удается найти указанный путь.

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d b:\*.jpg9') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Системе не удается найти указанный путь.

G:\scripts\test>goto:eof

G:\scripts\test>call:_1 c

G:\scripts\test>for %i in (jpg8 jpg9) do for /F "tokens=*" %a in ('dir /b/s/a-d c:\*.%i') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>
>G:\scripts\test\remlist.txt 2>&1

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d c:\*.jpg8') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Файл не найден

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d c:\*.jpg9') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Файл не найден

G:\scripts\test>goto:eof

G:\scripts\test>call:_1 d

G:\scripts\test>for %i in (jpg8 jpg9) do for /F "tokens=*" %a in ('dir /b/s/a-d d:\*.%i') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>
>G:\scripts\test\remlist.txt 2>&1

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d d:\*.jpg8') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Файл не найден

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d d:\*.jpg9') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Файл не найден

G:\scripts\test>goto:eof

G:\scripts\test>call:_1 e

G:\scripts\test>for %i in (jpg8 jpg9) do for /F "tokens=*" %a in ('dir /b/s/a-d e:\*.%i') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>
>G:\scripts\test\remlist.txt 2>&1

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d e:\*.jpg8') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Системе не удается найти указанный путь.

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d e:\*.jpg9') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Системе не удается найти указанный путь.

G:\scripts\test>goto:eof

G:\scripts\test>call:_1 f

G:\scripts\test>for %i in (jpg8 jpg9) do for /F "tokens=*" %a in ('dir /b/s/a-d f:\*.%i') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>
>G:\scripts\test\remlist.txt 2>&1

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d f:\*.jpg8') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Файл не найден

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d f:\*.jpg9') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Файл не найден

G:\scripts\test>goto:eof

G:\scripts\test>call:_1 g

G:\scripts\test>for %i in (jpg8 jpg9) do for /F "tokens=*" %a in ('dir /b/s/a-d g:\*.%i') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>
>G:\scripts\test\remlist.txt 2>&1

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d g:\*.jpg8') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Файл не найден

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d g:\*.jpg9') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1

G:\scripts\test>del /p /a: "g:\Новая папка\prsc (1688).jpg9" && if not exist "g:\Новая папка\prsc (1688).jpg9" (echo g:\Новая папка\prsc (1688)
.jpg9 ) 1>>G:\scripts\test\remlist.txt 2>&1
g:\Новая папка\prsc (1688).jpg9, Удалить [Y(да)/N(нет)]? y

G:\scripts\test>goto:eof

G:\scripts\test>call:_1 h

G:\scripts\test>for %i in (jpg8 jpg9) do for /F "tokens=*" %a in ('dir /b/s/a-d h:\*.%i') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>
>G:\scripts\test\remlist.txt 2>&1

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d h:\*.jpg8') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Устройство не готово.

G:\scripts\test>for /F "tokens=*" %a in ('dir /b/s/a-d h:\*.jpg9') do del /p /a: "%a" && if not exist "%a" (echo %a ) 1>>G:\scripts\test\remlis
t.txt 2>&1
Устройство не готово.

G:\scripts\test>goto:eof

G:\scripts\test>pause
Для продолжения нажмите любую клавишу . . .[/more]


G:\scripts\test\bat.bat:

Код: chcp 1251>nul
for %%B in (a b c d e f g h) do call:_1 %%B
pause
goto:eof

:_1
for %%i in (jpg8 jpg9) do for /f "tokens=*" %%a in ('dir /b/s/a-d %1:\*.%%i') do del /p /a: "%%a" &&if not exist "%%a" (echo %%a)>>%~dp0remlist.txt 2>&1
goto:eof
Автор: Nikolas2500
Дата сообщения: 17.01.2010 21:49
Питання як перейменовать все файли з роширениям *.gif у формат Extabit-1.gif,Extabit-2.gif,Extabit-3.gif,Extabit-4.gif,Extabit-5.gif и так дале.
Автор: bomzzz
Дата сообщения: 17.01.2010 23:41
Nikolas2500
@ECHO OFF
COLOR 9F
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /R "C:\TEMP" %%I IN (*.gif) DO (
SET /A COUNT=!COUNT!+1
REN "%%I" "Extabit-!COUNT!.gif"
)
ENDLOCAL

Автор: Nikolas2500
Дата сообщения: 18.01.2010 00:58
bomzzz
Не работаэт
Поместил в папку з бат файлом 4 картинки результат никакой
Автор: bomzzz
Дата сообщения: 18.01.2010 01:15
а у меня работкаит. ты наверно хотел чтоб в текущей папке меняло тогда надо
FOR /R "C:\TEMP" %%I IN (*.gif) DO (
заменить на
FOR /R %%I IN (*.gif) DO (
я испытывал на папке темп или заменить"C:\TEMP" на путь к твоей папки

интересный конфликт вот так надо ^- экранировать минус
@ECHO OFF
COLOR 9F
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /R %%I IN (*.gif) DO (
SET /A COUNT=!COUNT!+1
REN "%%I" "Extabit^-!COUNT!.gif"
)
ENDLOCAL
Автор: Nikolas2500
Дата сообщения: 18.01.2010 01:42
bomzzz
Заработало
Бальшоє чиловечискоє спасибо ти даже незнаєш как чильно ти мне помог!
Автор: bomzzz
Дата сообщения: 18.01.2010 01:52
Автор: Nikolas2500
Дата сообщения: 18.01.2010 01:53
Я на вашом форуме только 2 дня назад зареєстрировалса и вже понравилось
Автор: Sandy_Ann
Дата сообщения: 18.01.2010 07:57
Подскажите пожайлуста, можно ли значение, выдаваемое прогой, сразу назначить переменной?
Прога get my ip console, выдает значение реальго IP-шника
Заранее спасибо
Автор: bomzzz
Дата сообщения: 18.01.2010 08:05
скорее всего нет - перенаправить поток в файл а из него считать

@ECHO OFF
COLOR 9F
WMIC NICCONFIG Where IPEnabled=TRUE Get IPAddress> MYIPADDR.txt
pause
Автор: lumb2007
Дата сообщения: 18.01.2010 09:47
@ECHO OFF
net start "MSSQLSERVER"
net share 1=C:\1 /GRANT:‚бҐ,FULL
net share 2=C:\2 /GRANT:‚бҐ,FULL
net share 3=C:\3 /GRANT:‚бҐ,FULL

ᥠ- это так перекодирует слово Вс после сохранения в dos кодировке
Соответственно не понимает кому права давать, win2003 русский
Автор: bomzzz
Дата сообщения: 18.01.2010 09:51
@ECHO OFF
chcp 1251
net start "MSSQLSERVER"
net share 1=C:\1 /GRANT:‚Вс,FULL
net share 2=C:\2 /GRANT:‚Вс,FULL
net share 3=C:\3 /GRANT:‚Вс,FULL
chcp 866

а откуда эта кирилица взялась?
Автор: lumb2007
Дата сообщения: 18.01.2010 09:53
Пардон,вопрос снят,все спасибо.
Автор: Rodgerland
Дата сообщения: 18.01.2010 12:23
Добрый день, подскажите как мне написать батник или скрипт, чтоб находил нужный мне ключ в реестре и изменял его значение?
Автор: bomzzz
Дата сообщения: 18.01.2010 12:28
Rodgerland

REG QUERY "HKCU\Software\MyKey" /V MyParametr
IF ERRORLEVEL 1 GOTO SHISH
REG ADD "HKCU\Software\MyKey" /V MyParametr /t REG_SZ /d "MyNewValue" /F
:SHISH
Автор: abasov
Дата сообщения: 18.01.2010 13:11
Можно это перекроить на винконсоль?


Код: find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: SAS.Планета (часть 2)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.