Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Батник для чтения/записи (http://forum.oszone.net/showthread.php?t=229630)

djalin 06-03-2012 00:28 1873211

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

Код:

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


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

Iska 06-03-2012 01:08 1873223

Цитата:

Цитата djalin
в чем может быть проблема? »

djalin, в синтаксисе.

Код:

:begin
ping 127.0.0.1 -n 4 >"%temp%\01_%random%_01.log"
goto :begin

Будет исполняться, пока не прервёте по «Ctrl-C».

djalin 08-03-2012 20:38 1875066

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

~

Iska 08-03-2012 23:28 1875198

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      Мама мыла раму

а не только с теми, у которых в именах присутствует данный символ.

Уточните Вашу задачу.

djalin 09-03-2012 19:57 1875691

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

сейчас скрипт имеет вид
Код:

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

нужно добавить переименования таких папок (они не отображаются в проводнике именно из-за таких символом)

Iska 09-03-2012 20:18 1875707

Потрясающе…
Сделаем все объекты текущей папки и вложенных в неё не скрытыми, не системными и не только для чтения:
Код:

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
Задача - переименовать папки с неправильными символами в имени в рандомно поименованые »

Приведите конкретные примеры папок «с неправильными символами в имени», которые бы не отображались в Проводнике.

djalin 10-03-2012 13:36 1876127

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

Цитата:

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

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


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

Foreigner 10-03-2012 16:47 1876236

Цитата:

Цитата 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)


Iska 10-03-2012 22:16 1876440

Цитата:

Цитата djalin
забыл предупредить все действия проводятся касательно флеш накопителя - там ето дествительно некчему так что ирония немного неумесна »

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

Цитата:

Цитата 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"

Чтобы дать ответ по переименованию, мне нужно как-то увидеть эту папку в оригинале. Каким вирусом она создаётся (можно привести ссылку на описание на любом антивирусном сайте)?

djalin 11-03-2012 17:07 1876947

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


Время: 01:39.

Время: 01:39.
© OSzone.net 2001-