Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник для чтения/записи

Ответить
Настройки темы
CMD/BAT - Батник для чтения/записи

Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


Хочю разобратся - так как у самого не выходит - для начала решил нагенерить файлов - ети файлы и будут заносится в лог с которого батник должен считывать но

Код: Выделить весь код
:begin ping 127.0.0.1 -n 4 >%temp%\01_%random%_01.log goto begin
не хочет выполнятся, даже с консоли.. в чем может быть проблема?


задача скрипта - делает список файлов вместе с путями, потом переименовывает папку в заданую, суть в том что имя папки зарание не извесно

Отправлено: 00:28, 06-03-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата djalin:
в чем может быть проблема? »
djalin, в синтаксисе.

Код: Выделить весь код
:begin
ping 127.0.0.1 -n 4 >"%temp%\01_%random%_01.log"
goto :begin
Будет исполняться, пока не прервёте по «Ctrl-C».
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:08, 06-03-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


вопрос как можно переименовать папку в названии которой есть определенный символ
проблема в том что зарание название папки неизвесно - например нужно переименовать папку в имени которой есть символ
Код: Выделить весь код
~

Отправлено: 20:38, 08-03-2012 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


djalin, если у Вас не отключено создание коротких имён:
Код: Выделить весь код
E:\Песочница\0125>fsutil.exe behavior query disable8dot3
disable8dot3 = 0
— этот символ присутствует в коротких именах всех папок с длинными именами:
Код: Выделить весь код
E:\Песочница\0125>dir /a:d /x
…
 Содержимое папки E:\Песочница\0125

08.03.2012  22:25    <DIR>                       .
08.03.2012  22:25    <DIR>                       ..
08.03.2012  22:19    <DIR>                       001
08.03.2012  22:19    <DIR>                       003
08.03.2012  22:19    <DIR>                       005
08.03.2012  22:19    <DIR>                       00~2
08.03.2012  22:19    <DIR>                       00~4
08.03.2012  22:19    <DIR>                       Goodies
08.03.2012  22:25    <DIR>          SAMPLE~1     Sample folder
08.03.2012  22:20    <DIR>          01D5~1       Мама мыла раму
а не только с теми, у которых в именах присутствует данный символ.

Уточните Вашу задачу.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:28, 08-03-2012 | #4


Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


Задача - переименовать папки с неправильными символами в имени в рандомно поименованые
(такое нужно например если папка спрятана вирусом)

сейчас скрипт имеет вид
Код: Выделить весь код
attrib -r -s -h /s /d 
rd /s /q %~d0\recycled 
rd /s /q %~d0\recycler 
rd /s /q «%~d0\System Volume Information
del %~d0\*.lnk /s /q >>kiler_log.txt
del /f /q %~d0\autorun.* 
mkdir "\\?\%~d0\autorun.inf\com1"
attrib +s +h %~d0\autorun.inf
del /f /q %~d0\desktop.ini
mkdir "\\?\%~d0\desktop.ini\com1"
attrib +s +h %~d0\desktop.ini
нужно добавить переименования таких папок (они не отображаются в проводнике именно из-за таких символом)

Отправлено: 19:57, 09-03-2012 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Потрясающе…
Сделаем все объекты текущей папки и вложенных в неё не скрытыми, не системными и не только для чтения:
Код: Выделить весь код
attrib -r -s -h /s /d
Попробуем удалить к … «Корзину» целиком:
Код: Выделить весь код
rd /s /q %~d0\recycler
Рискнём удалить и системную папку (действительно — зачем она нам нужна, болтается только):
Код: Выделить весь код
rd /s /q «%~d0\System Volume Information
Ярлыки на этом диске нам тоже ни к чему:
Код: Выделить весь код
del %~d0\*.lnk /s /q
Сделаем наивную попытку «защиты» от вируса:
Код: Выделить весь код
mkdir "\\?\%~d0\autorun.inf\com1"
attrib +s +h %~d0\autorun.inf
del /f /q %~d0\desktop.ini
mkdir "\\?\%~d0\desktop.ini\com1"
Больше калечим, чем лечим. Уж лучше бы Вы освоили язык скриптов AVZ — для Вас было б больше пользы, чем так махать шашкой.


Цитата djalin:
они не отображаются в проводнике именно из-за таких символом »
В отношении символа «~» — Вы неправильно информированы.

Цитата djalin:
Задача - переименовать папки с неправильными символами в имени в рандомно поименованые »
Приведите конкретные примеры папок «с неправильными символами в имени», которые бы не отображались в Проводнике.

Отправлено: 20:18, 09-03-2012 | #6


Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


Может Вы правы сам я ещо не сталкивался и руководствовался этой статьейhttp://acid.name/?p=108

Цитата:
Потрясающе…
забыл предупредить все действия проводятся касательно флеш накопителя - там ето дествительно некчему так что ирония немного неумесна

avz - не всегда запускается, и откуда Вы взяли что я его не использую?
Далее -вот зачем на флешке ярлык? я не знаю - касательно наивности, защита не сработала только 1! раз так что пока действенность меня устраивает


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

Последний раз редактировалось djalin, 10-03-2012 в 13:55.


Отправлено: 13:36, 10-03-2012 | #7


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Цитата djalin:
например нужно переименовать папку в имени которой есть символ »
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=*" %%i in (' "dir /b /ad | findstr "~"" ') do call:ren "%%i"
goto:eof

:ren
set "folder=NewName"

:check
if not exist "%folder%" (ren %1 "%folder%") else (set "folder=0%folder%" && goto:check)

Отправлено: 16:47, 10-03-2012 | #8


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата djalin:
забыл предупредить все действия проводятся касательно флеш накопителя - там ето дествительно некчему так что ирония немного неумесна »
По коду этого не скажешь: нигде в коде нет проверки, что текущий каталог является корневым каталогом съёмного устройства.

Цитата djalin:
Далее -вот зачем на флешке ярлык? »
У кого как .


В статье ошибка:
Цитата:
На картинке видно скрытую папку с названием e2e2~1
На самом деле, название папки — что-то наподобие «..» — видно на приведённом скриншоте, а «e2e2~1» — это как раз её короткое имя. Но переименовывать все найденные папки с символом «~» в коротком имени — значит лишиться оригинальных имён всех папок с длинными именами в этом каталоге.

Ещё раз повторю: к отображению в Проводнике символ тильды в имени не имеет никакого отношения. Ни в длинном, ни в коротком имени. Проблема именно в оригинальном длинном имени папки. Это как раз что-то наподобие Вашего:
Код: Выделить весь код
mkdir "\\?\%~d0\autorun.inf\com1"
attrib +s +h %~d0\autorun.inf
del /f /q %~d0\desktop.ini
mkdir "\\?\%~d0\desktop.ini\com1"
Чтобы дать ответ по переименованию, мне нужно как-то увидеть эту папку в оригинале. Каким вирусом она создаётся (можно привести ссылку на описание на любом антивирусном сайте)?
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:16, 10-03-2012 | #9


Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


Ага - ну тогда наверно пока статью можно закрыть - так как лично он мне не попадался.
Спасибо
батник решил просто дополнить командой dir

Последний раз редактировалось djalin, 11-03-2012 в 17:12.


Отправлено: 17:07, 11-03-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник для чтения/записи

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Скрипт VBS для Чтения из файла Excel и записи в Access NecroTYN Скриптовые языки администрирования Windows 5 27-01-2012 12:18
CMD/BAT - [решено] Нужен батник для сканирования папок и записи результатов в файл Nun-Nun Скриптовые языки администрирования Windows 7 22-09-2010 15:23
Доступ - [решено] Нет доступа программ для чтения/записи (?) Malfatto Microsoft Windows 2000/XP 2 25-07-2010 01:29
Toshiba SDR-5372-проблемы записи и чтения Vyparshik Оптические приводы 14 17-03-2007 13:00
Программа для записи DVD и последующего чтения диска проигрывателями alec1 Хочу все знать 11 05-03-2007 13:28




 
Переход