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

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

Автор: gryu
Дата сообщения: 07.04.2008 16:32
crackcrack
как и у всех.
У ярлыка через свойства.
У самого файла - никак. (можно, но это нужно лезть в "ассоциации" ОС и это будет верно только для данной машины)
Автор: igor_andreev
Дата сообщения: 07.04.2008 17:04
magazinus

Цитата:
Ага. Без различающихся строк...

Тогда легче

Код:
copy /b 1.txt+2.txt 3.txt
type 3.txt | sort | uniq -d >4.txt
Автор: crackcrack
Дата сообщения: 07.04.2008 17:15
gryu
спасибо.

Цитата:
можно, но это нужно лезть в "ассоциации" ОС и это будет верно только для данной машины)

если можно в двух словах или ссылку


Добавлено:
и я правильно понимаю, что для всех bat файлов будет другая иконка, но одинаковая
Автор: Rush
Дата сообщения: 07.04.2008 17:58
Ну тогда так:

Код: if wscript.arguments.count = 2 then
fname = wscript.arguments.item(0):fname2 = wscript.arguments.item(1)
dim newcounts, txtarr3()
set fso = createobject("scripting.filesystemobject")
set one = fso.opentextfile(fname, 1):txt = one.readall:one.close
set two = fso.opentextfile(fname2, 1):txt2 = two.readall:two.close
if txt <> txt2 then
txttmp = vbcrlf & txt2 & vbcrlf:txtarr = split(txt, vbcrlf)
redim txtarr3(ubound(txtarr))
for i=0 to ubound(txtarr)
if instr(1, txttmp, vbcrlf & txtarr(i) & vbcrlf, 1) > 0 then
txtarr3(newcounts) = txtarr(i):newcounts = newcounts + 1
end if
next
redim preserve txtarr3(newcounts-1)
txt = join(txtarr3, vbcrlf)
set one = fso.opentextfile(fname & "_", 2, true):one.write txt:one.close
newcounts = 0
txttmp = vbcrlf & txt & vbcrlf:txtarr = split(txt2, vbcrlf)
redim txtarr3(ubound(txtarr))
for i=0 to ubound(txtarr)
if instr(1, txttmp, vbcrlf & txtarr(i) & vbcrlf, 1) > 0 then
txtarr3(newcounts) = txtarr(i):newcounts = newcounts + 1
end if
next
redim preserve txtarr3(newcounts-1)
txt = join(txtarr3, vbcrlf)
set one = fso.opentextfile(fname2 & "_", 2, true):one.write txt:one.close
end if
end if
wscript.quit
Автор: magazinus
Дата сообщения: 07.04.2008 19:06
igor_andreev
Rush
Большое спасибо!
Автор: Fraerok
Дата сообщения: 07.04.2008 22:07

Цитата:
@echo off
chcp 1251

for /f "tokens=*" %%a in (uninstall.log) do call :change_path "%%a"
type uninstall.bak | find /v "\Quick Launch\" | find /v "(Безопасный режим).lnk">uninstall.log
goto :eof

:change_path
set "line=%~1"
set "line=%line:\Рабочий стол\Mozilla Sunbird.lnk=\Рабочий стол\Программы\Sunbird.lnk%"
set "line=%line:\Программы\Mozilla Sunbird\Mozilla Sunbird.lnk=\Программы\Sunbird.lnk%"
echo %line%>>uninstall.bak
set "line="

скрипт работает, но только, если батник в той же папке находится. Как исправить? Дописывал к uninstall.??? приставку "%PROGRAMFILES%\Mozilla Sunbird\uninstall\uninstall.???" - не работает из другой директории =(
Автор: 01MDM
Дата сообщения: 07.04.2008 22:36
Fraerok

Попробуй так

Код:
@echo off
chcp 1251
pushd "%PROGRAMFILES%\Mozilla Sunbird\uninstall"
for /f "tokens=*" %%a in (uninstall.log) do call :change_path "%%a"
type uninstall.bak | find /v "\Quick Launch\" | find /v "(Безопасный режим).lnk">uninstall.log
popd
goto :eof

:change_path
set "line=%~1"
set "line=%line:\Рабочий стол\Mozilla Sunbird.lnk=\Рабочий стол\Программы\Sunbird.lnk%"
set "line=%line:\Программы\Mozilla Sunbird\Mozilla Sunbird.lnk=\Программы\Sunbird.lnk%"
echo %line%>>uninstall.bak
set "line="
Автор: FishError
Дата сообщения: 08.04.2008 08:52
А можно сделать вывод результатов двух команд в одну строку в файле?
time /t >> log.txt
date /t >> log.txt
Выводит в две строки, а желательно так: 12:15 - 12.12.2008
Автор: igor_andreev
Дата сообщения: 08.04.2008 09:14
FishError
echo %time:~0,8% %date% >> log.txt


Добавлено:
тьфу, вернее %time:~0,5%
Автор: Kilich
Дата сообщения: 08.04.2008 10:05

Цитата:
Ребята!
А никто часом не знает, как в батнике написать нечто - чтобы можно было указать время отключение дисплея или не отключать никогда(как это можно сделать в свойствах заставки-питание)
Очень нужно...


Ребята!!
Знатоки ну откликнитесь!!!

Добавлено:

Цитата:
Ребята!
А никто часом не знает, как в батнике написать нечто - чтобы можно было указать время отключение дисплея или не отключать никогда(как это можно сделать в свойствах заставки-питание)
Очень нужно...



Ребята!!
Знатоки ну откликнитесь!!!


разобрался самостоятельно!!!


@echo off
powercfg /create BCCR
powercfg /change BCCR /monitor-timeout-dc 5
powercfg /change BCCR /monitor-timeout-ac 20
powercfg /change BCCR /disk-timeout-dc 0
powercfg /change BCCR /disk-timeout-ac 0
powercfg /change BCCR /standby-timeout-dc 0
powercfg /change BCCR /standby-timeout-ac 0
powercfg /change BCCR /hibernate-timeout-dc 0
powercfg /change BCCR /hibernate-timeout-ac 0
powercfg /setactive BCCR
@echo BCCR Power Settings Configured....

>"\\Server1\Migration\%ComputerName%\powersettings.flg"
Автор: 01MDM
Дата сообщения: 08.04.2008 15:07
Kilich
Молодец, вот что значит "свежая голова"

О powercfg даже не знал...

Автор: crackcrack
Дата сообщения: 08.04.2008 17:58
Создал простейший файл для одновременного запуска 2 программ:

"C:\Program Files\Program1.exe"
"C:\Program Files\\Program2.exe"

При запуске с ярлыка все нормально. Однако, когда добавляю в автозагрузку,
загружается только одна - первая программа.

Vista Home.

Автор: 01MDM
Дата сообщения: 08.04.2008 18:50
crackcrack

Запускай через start


Код:
@echo off
start "" "%programfiles%\Program1\Program1.exe"
start "" "%programfiles%\Program2\Program2.exe"
Автор: magazinus
Дата сообщения: 08.04.2008 19:34
В папке много файлов, шаблон имени таков: AA-BB-CC-DD.dwg, есть случайные файлы, имена которых - от балды. Необходимо проверить файлы папки на соответствие шаблону, все, что не соответствует - удалить...
Автор: igor_andreev
Дата сообщения: 08.04.2008 21:15
magazinus
Отсюда попробуй начать

Код:
dir /b | findstr /v /r "[A-Z]*-[A-Z]*-[A-Z]*-[A-Z]*\.dwg"
Автор: 01MDM
Дата сообщения: 08.04.2008 22:21
igor_andreev


Цитата:

for %%a in (??-??-??-??.dwg) do attrib -a %%a


Этот вариант допускает файлы с большим количеством символов (11-222-11-11.txt) в названии.

Ничего лучше не приходит на ум

Код:
for /f "tokens=*" %%i in ('dir /b ^| findstr /v /r "..-..-..-..\.dwg"') do del "%%i"
Автор: Nicka_Grey
Дата сообщения: 09.04.2008 02:19
есть 2 файла
Внутри строки:
[имя файла] [время] [дата]
В этих файлах некоторые строки могут совпадать, отличаясь только временем, датой
Нужно получить список строк с самыми свежими файлами ([имя файла] )
Прикидваю что нужно for-ом бежать по обоим файлам, но вот пока только не знаю как сравнивать дату время....
Автор: gamebit73
Дата сообщения: 09.04.2008 06:18
Необходимо перейти в папку вида "\\server\folder" используя cd. net use мне не подходит.
Автор: Mint86
Дата сообщения: 09.04.2008 06:42
Подскажите пожалуйста, можно ли с помощью батника вводить пароль на открытие книги Excel. Т.е. проблема вот в чем, есть определенный файл Excel на котором установлен пароль на открытие этого файла. Пароль я знаю. Мне дано чтобы пользователь запускал данный файл только через батник. Этот батник при выполнении должен изменять значение реестра, затем открыть книгу (данный Excel файл) и ввести пароль на открытие. Возможно ли такое и как это сделать? В батниках я ничего не смыслю, так что буду благодарен за любую помощь.

Как менять значение реестра мне подсказал 01MDM за что ему огромное спасибо!


Цитата:
Напрямую прикрутить, имхо, или нельзя или получится плохо. Лучше в виде вызова через контекстное меню

Вот сам батник

Код:
@echo off
setlocal
set "exec=reg query HKCU\Software\Microsoft\Office\11.0\Excel\Security ^| findstr Level"
for /f "tokens=3" %%i in ('%exec%') do (
if %%i equ 0x1 start "" "%ProgramFiles%\...\excel.exe" %1
)



Пути к экселю и само название исправь, так как у меня не установлен MS Office.

И поищи как батник добавить в контекстное меню проводника.


PS насколько я понимаю бат файл это просто текстовый файл, посему вопрос, можно ли как нить сделать так чтобы пользователь не смог прочесть и понять что он выполняет, и не смог узнать пароль Excel.
Автор: JI063uk
Дата сообщения: 09.04.2008 06:44
Помогите решить такую проблему – есть текстовый файл где имена компов надо сделать батник чтобы он считывал с этого текстового файла имена компов пинговал их если пинг прошел то отсылает ему сообщение (net send) которое расположено в другом текстовом файле.
Автор: crackcrack
Дата сообщения: 09.04.2008 10:19
01MDM
спасибо. получилось
Автор: 01MDM
Дата сообщения: 09.04.2008 11:42
crackcrack

На счет пароля - если только эксель поддерживает параметры командной строки для запуска с паролем. В чем я сомневаюсь.

Если все же такая возможность есть:

Цитата:
PS насколько я понимаю бат файл это просто текстовый файл, посему вопрос, можно ли как нить сделать так чтобы пользователь не смог прочесть и понять что он выполняет, и не смог узнать пароль Excel.


Бат-файл можно скомпилировать в исполняемый бинарный, без возможности прочесть его содержание.
Автор: Mint86
Дата сообщения: 09.04.2008 12:13

Цитата:
На счет пароля - если только эксель поддерживает параметры командной строки для запуска с паролем. В чем я сомневаюсь.

Ок. поищем...


Цитата:
Бат-файл можно скомпилировать в исполняемый бинарный, без возможности прочесть его содержание.

Спасибо, иду в варезник. На случай если
Цитата:
Если все же такая возможность есть:

Автор: 01MDM
Дата сообщения: 09.04.2008 14:06
Mint86

Цитата:
Спасибо, иду в варезник


Вот бесплатный и с оффсайта. И бинарник получается небольшой, наверное потому что без троянов.

Bat_To_Exe
Автор: crackcrack
Дата сообщения: 09.04.2008 14:22
01MDM

Цитата:
Bat_To_Exe

Хорошая идея, давно искал. Но - у меня DrWeb показывает в нем троян.
На Висте вывливается с ошибкой на этапе создания, есть еще что -то подобное.


Добавлено:
Не знаю, может это результат лечения DrWeb?

А там обязательно для создания exe файла заполнять все поля?
Автор: 01MDM
Дата сообщения: 09.04.2008 15:01
crackcrack


Цитата:
На Висте вывливается с ошибкой на этапе создания, есть еще что -то подобное.


На счет Висты ничего не знаю. Вот еще один, самый известный. Но на него у меня ругается McAffee.


Цитата:
А там обязательно для создания exe файла заполнять все поля?


Нет, не обязательно.


Автор: Mint86
Дата сообщения: 10.04.2008 05:00

Цитата:
Вот бесплатный и с оффсайта. И бинарник получается небольшой, наверное потому что без троянов

Попробовал и платные и бесплатные. ИМХО единственный недостаток этих программ, это то что они создают копию батника во временной директории во время запуска. А так программы действительно хороши.
Автор: tolyn77
Дата сообщения: 10.04.2008 06:53
подскажите пожалуйста
как сделать следующее
есть команда sc qc browser
ее результат такой
SERVICE_NAME: browser
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\WINDOWS\System32\svchost.exe -k netsvcs
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME :
DEPENDENCIES : LanmanWorkstation
: LanmanServer
SERVICE_START_NAME : LocalSystem
как сделать так что бы
выводилось
browser
2 AUTO_START
заранее благодарен
Автор: 01MDM
Дата сообщения: 10.04.2008 09:07
tolyn77

На примере сервиса themes:

Код:
@echo off
for /f "tokens=2,3* delims=: " %%i in ('sc qc themes ^| findstr "SERVICE_NAME START_TYPE"') do (
    echo %%i %%j
)

Автор: Rastaguy
Дата сообщения: 10.04.2008 16:37
Помогите пожалуйста написать батник!
1. А сколько вообще строк может содержать переменная? Есть ограничения на кол-во символов, например? И будет ли работать errorlevel по отношению к другой переменной?
2. Можно ли сделать так, чтобы имена создаваемых папок обзывались по имени пользователя вошедшего в систему, типа "проверяется текущий вход на комп... по имени входа обзывается папка и записывается эта папка к примеру на диск D:\ ?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: DVD-video (ДВД-видео) - что и как (часть 3)


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