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

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

Автор: ScreamWolf
Дата сообщения: 10.08.2009 15:37
igor_andreev

Цитата:
for /f "tokens=*" %%a in ('congetfile') do set "filename=%%a"
echo %filename%

подходит, спасибо, тока вот в чем проблема, так это то что, если в адресе русские буквы, то в место их ахинея (((

не с мог добиться изменения кодировки...

поготите еще...

Добавлено:
01MDM

Цитата:
Может и можно, но это скорее всего военная тайна.

спасибо за справочку, но тама я уже искал...

А если сторонние выделывают такое, то почему это засекречено =)


кажется, что это при помощи vbs воплощается в реальность
Автор: igor_andreev
Дата сообщения: 10.08.2009 16:21

Цитата:
тока вот в чем проблема, так это то что, если в адресе русские буквы, то в место их ахинея

Нет там ахинеи. Про необходимость вписывать команду "chcp 1251" в начале батника(если в путях русские буквы) уже раз сто писали в темах про батники на этом форуме

Цитата:
кажется, что это при помощи vbs воплощается в реальность

Легко

Код:
set oUA = CreateObject("UserAccounts.CommonDialog")
x = oUA.ShowOpen
wscript.echo oUA.FileName
Автор: Cokolok
Дата сообщения: 11.08.2009 00:04
люди , как мне попасть вот сюда ?
C:\Documents and Settings\Admin\Application Data\Opera\Opera\profile
но четко вотсюда !
потому что %AppData% некатит.. оно переносит на реального пользователя.
мне надо чтобы четко вотсюда.. сами знаете что батники Documents and Settings не читают.... поэтому есть вариант
C:\DocumentsandSettings\Admin\Application Data\Opera\Opera\profile
может быть так ?
помогите плиз.
спс.
Автор: Taciturn
Дата сообщения: 11.08.2009 01:12
Cokolok
Попасть? И именно с таким путём?

Код: cd /d C:\Documents and Settings\Admin\Application Data\Opera\Opera\profile
Автор: ScreamWolf
Дата сообщения: 11.08.2009 08:59
igor_andreev

Цитата:
Нет там ахинеи. Про необходимость вписывать команду "chcp 1251" в начале батника(если в путях русские буквы) уже раз сто писали в темах про батники на этом форуме


я знаю что такое chcp и с чем его едят... но пробовал, не хочет (((


Цитата:
Легко


а можно теперь так же легко, только чтобы было то-же окно с функцией "Сохранить", а не "Открыть"?
Автор: 7b
Дата сообщения: 11.08.2009 10:06
ScreamWolf

Far.exe должен тебе помочь.
Автор: igor_andreev
Дата сообщения: 11.08.2009 10:56
ScreamWolf

Цитата:
но пробовал, не хочет (((

У меня все работает

Цитата:
чтобы было то-же окно с функцией "Сохранить", а не "Открыть"?

Легко В гугле набери: vbscript + save as dialog
Автор: ScreamWolf
Дата сообщения: 11.08.2009 11:18
igor_andreev

Цитата:
vbscript + save as dialog

набрал, нашел...

Код: @echo off
set tmp=%tmp%\~.vbs
echo.Set objDialog = CreateObject^("SAFRCFileDlg.FileSave"^) >%tmp%
echo.objDialog.FileName = "FileName.vbs" >>%tmp%
echo.objDialog.FileType = "VBScript Script">>%tmp%
echo.intReturn = objDialog.OpenFileSaveDlg >>%tmp%
echo.If intReturn Then >>%tmp%
echo. Set objFSO = CreateObject^("Scripting.FileSystemObject"^) >>%tmp%
echo. Set objFile = objFSO.CreateTextFile^(objDialog.FileName^) >>%tmp%
echo. objFile.WriteLine Date >>%tmp%
echo. objFile.Close >>%tmp%
echo.Else >>%tmp%
echo. Wscript.Quit >>%tmp%
echo.End If >>%tmp%
cscript //nologo %tmp%
Автор: igor_andreev
Дата сообщения: 11.08.2009 11:37

Цитата:
а как мне теперь передать в этот скрипт данные, которые я хочу сохранить...

Вместо вставки даты запускай, что нужно. Run или Exec
http://www.script-coding.info/WSH/WshShell.html#3.4.

Ты бы уже писал все на WSH, тут на рубоарде есть по нему топик
Автор: ScreamWolf
Дата сообщения: 11.08.2009 11:45
igor_andreev

Цитата:
Run или Exec

в том то все и дело, что скрипты не знаю...

понимать долго буду, но что поделать будем разбираться

Добавлено:
не могу ни где найти bat2com com2exe или bat2exe

именно что бы из ком.строки работало...

Помогите с поискоми
Автор: Cosmogor
Дата сообщения: 11.08.2009 19:20
ScreamWolf

Держи дружище.
http://dvusrachek.ifolder.ru/13501855
Автор: volkss
Дата сообщения: 11.08.2009 19:55
Помогите пожайлуста с такой задачей - каждую неделю в определенную папку закачивается архив с именем вида BaseParusGG_MM_DD_HH_MM.rar , где DD-день,MM-месяц,GG-год,HH-час,MM-минуты.Соответственно данные архивы копятся в данной папке. Необходимо чтобы архив за последнюю дату был скопирован в другую папку Linux по сети и переименован в вид BaseParus.rar .Подскажите пожайлуста каким образом это сделать.
Автор: Cokolok
Дата сообщения: 11.08.2009 20:29
echo on
copy /y "C:\Documents and Settings\Admin\Application Data\Opera\Opera\profile\user\*.*" "\Moy\OperaProfie\styles\user\"
copy /y "C:\Documents and Settings\Admin\Application Data\Opera\Opera\profile\*.*" "\Moy\OperaProfie\"
end
Подскажите что неправильно в маём коде ... для того чтобы оно копировало отсюда... туда... и заменяло файлы которые существуют... спс =)
Автор: Cosmogor
Дата сообщения: 11.08.2009 20:50
Cokolok


Цитата:
"\Moy\OperaProfie\"

Если это "туда", то тут неправильно
Нуно указать полный путь

Автор: Cokolok
Дата сообщения: 11.08.2009 22:36
непашит !

Добавлено:
как подругому написать Documents and Settings ??? потомучто Батники к длинным словам типа Documents and Settings непериваривают ! все это знают.. как написать покороче ?
Автор: ewild
Дата сообщения: 11.08.2009 23:14
Cokolok
если вы вошли в систему под учетной записью Admin, то
путь C:\Documents and Settings\Admin\Application Data возвращается переменной %AppData%
Тогда ваши исходные пути могут быть прописаны так
"%AppData%\Opera\Opera\profile\user\*.*"
"%AppData%\Opera\Opera\profile\*.*"
однако это вам не поможет, так как "Батники к длинным словам типа Documents and Settings непериваривают" не соответствуют действительности. Ошибка где-то в другом.

В частности, для начала, как отмечено выше, укажите полные пути к целевым каталогам, типо так:

Код: copy /y "C:\Documents and Settings\Admin\Application Data\Opera\Opera\profile\user\*.*" "C:\SomePath\Moy\OperaProfie\styles\user\*.*"
copy /y "C:\Documents and Settings\Admin\Application Data\Opera\Opera\profile\*.*" "C:\SomePath\Moy\OperaProfie\*.*"
Автор: 01MDM
Дата сообщения: 12.08.2009 08:14
volkss
Удобней было бы сортировать при формате GGMMDD_HHMM.
При условии, что все значения двухзначные, т.е например год - 09, минута - 02, час - 17 и т.д. Попробуй, проверял, но без пристрастия:

Код:
@echo off
setlocal

for /f "tokens=*" %%i in ('dir /b *.rar') do call:sort "%%~ni"

for /f "tokens=2 delims==" %%i in ('set file_') do set "file=%%i"
xcopy /y %file%.rar "\\server\DestFolder\%file:~0,-11%.rar"

goto:eof

:sort
set "file=%~1"
set "file=%file:~-7,2%%file:~-9,2%%file:~-11,2%%file:~-4%"
set "file_%file%=%~1"
Автор: Cokolok
Дата сообщения: 12.08.2009 13:11
ну люди все .... последний раз расказываю что я от вас хочу ... все постоянно мне даёте нерабочое !
вот маи коды которые неработают
copy /y "C:\Documents and Settings\Admin\Application Data\Opera\Opera\profile\user\*.*" "D:\Moy\OperaProfie\styles\user\"
copy /y "C:\Documents and Settings\Admin\Application Data\Opera\Opera\profile\*.*" "D:\Moy\OperaProfie\"
тут все написано куда я хочу копировать и куда вставить ! я неявляюсь пользователем Admin ... поэтому ваши пиременные тут некатят.... xcopy и copy непашут... мне надо чтобы оно просто напросто копировало оттуда..... туда.... где указано... и заменяла уже сущестующие папки.... если ктото чтото неможи понять.. стучитесь в асю ... я с 3 часов всегда до 12 часов в ней... вот 400989398 . СПС !
Автор: ewild
Дата сообщения: 12.08.2009 14:09

Цитата:
я неявляюсь пользователем Admin

Cokolok
тогда могут быть проблемы с правами доступа - если пользователь Admin ввел соответствующие ограничения, а у вашей учетной записи нет полномочий эти права изменить.
Автор: Cokolok
Дата сообщения: 12.08.2009 16:36

Цитата:
Цитата:я неявляюсь пользователем Admin


Cokolok
тогда могут быть проблемы с правами доступа - если пользователь Admin ввел соответствующие ограничения, а у вашей учетной записи нет полномочий эти права изменить.

ну типо чтото такое... просто кода я вырезаю файл из папки админ... оно пишет( "вы дейстительно хоитите перекинуть файл для чтений" "имя файла") и там да или нет... может в этом ошибка ? как эту шнягу убрать ?
Автор: volkss
Дата сообщения: 12.08.2009 17:46
Помогите пожайлуста с такой задачей - каждую неделю в определенную папку закачивается архив с именем вида BaseParusGG_MM_DD_HH_MM.rar , где DD-день,MM-месяц,GG-год,HH-час,MM-минуты.Соответственно данные архивы копятся в данной папке. Необходимо чтобы архив за последнюю дату был скопирован в другую папку Linux по сети и переименован в вид BaseParus.rar .Подскажите пожайлуста каким образом это сделать.
Автор: 01MDM
Дата сообщения: 12.08.2009 17:54
volkss
Ну так попробуй вариант выше...
Автор: volkss
Дата сообщения: 12.08.2009 18:09
не работает
Автор: Cosmogor
Дата сообщения: 12.08.2009 18:56
Доброго времени суток

Помогите со скриптом,
Нужно открыть папку с программой, путь беру в реестре.
скрипт вроде правильно написан, но всё время выдаёт
(Путь "C:\Program" не существует или не является каталогом.)
Где же ещё эти кавычки поставить в приведённом ниже коде?

Код:

setlocal
SET "WinRAR=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe"

for /f "tokens=3" %%a in ('reg query "%WinRAR%" /v Path ^| find /i "Path"') do set "instdir=%%a"

explorer "%instdir%"


Спс.
Автор: igor_andreev
Дата сообщения: 12.08.2009 19:22
Cosmogor

Код:
for /f "tokens=2*" %%a in ('reg query "%WinRAR%" /v Path ^| find /i "Path"') do set "instdir=%%b"
Автор: Cosmogor
Дата сообщения: 12.08.2009 19:50
igor_andreev
Спасибо друг, я уж неделю цифры к
tokens подставляю , а про %%b
и не думал даже.

Подскажи ещё пожалуйста значение setlocal ,
и нужно ли оно вообще в этом коде?

Спс.
Автор: 01MDM
Дата сообщения: 12.08.2009 22:01
volkss

Цитата:
не работает

Как понять?

Цитата:
в определенную папку закачивается архив с именем вида BaseParusDDMMGG_HHMM.rar


Цитата:
в определенную папку закачивается архив с именем вида BaseParusGG_MM_DD_HH_MM.rar

От чего отталкиваться?



Добавлено:
Cosmogor

Цитата:
Подскажи ещё пожалуйста значение setlocal ,
и нужно ли оно вообще в этом коде?

setlocal ограничивает область действия переменных. Необходима для тестирования, когда в одной консольной сессии запускаешь несколько раз один и тот же батник. Без setlocal, переменные, определенные в батнике, будут еще "жить" при следующем запуске, что может повлиять на результат. Так же служит для ограничения пространства деятельности переменной в самом батнике между setlocal-endlocal.

В данном коде есть переменная %instdir%, и хоть она каждый раз перезаписывается, setlocal не будет лишним
Автор: ScreamWolf
Дата сообщения: 13.08.2009 06:58
Cosmogor

Цитата:
Держи дружище.

спасибо, то что нада!))

А вот вопрос: как заставить батник развернуться на весь экран при запуске?

В ярлыке менять свойства запуска - не катит, т.к. запускается напрямую.
Делал раньше при помощи программы Smart Install Maker (по моему так называлась), вот там была функция "Запуск в режимах MIN MAX HIDE" - так же мне не подходит, т к не пользуюсь данным типом ПО
Автор: KapralBel
Дата сообщения: 13.08.2009 10:23
ScreamWolf
cmdow — изменение параметров и видимости дос-окна
Автор: igor_andreev
Дата сообщения: 13.08.2009 10:42
ScreamWolf
Еще на весь экран делает fstoggle. Не /MAX, а как AltEnter в консольном окне нажать.
http://barnyard.syr.edu/~vefatica/#FSTOGGLE

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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