Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 8

Автор: wolf0425
Дата сообщения: 10.02.2010 23:26

Цитата:
Подскажите как заставить работать через ERRORLEVEL если в первом случае не удалось получить путь к рабочему столу(винхп) обработать второй
А смысл через ERRORLEVEL что-то ловить?
просто в первый for впиши после сета goto на выход

или вообще убери skip и отдельный for для w7, а нужную строчку лови через ^|find :

Код: for /f "tokens=2*" %%i in ('reg query "HKCU\software\microsoft\windows\currentversion\explorer\shell folders" /v desktop ^|find /i "desktop"') do set "desktop=%%j"
echo %desktop%
Автор: cluster
Дата сообщения: 10.02.2010 23:28
r00tik
А не хочешь через "IF exist" сделать?
Автор: Vebsea
Дата сообщения: 11.02.2010 00:35
cluster
Не-а, и так не работает.
Автор: cluster
Дата сообщения: 11.02.2010 08:10
Vebsea
В общем, проблема не у тебя, а на "том" конце. А там скорее всего стоит pure-ftpd. В сети советуют обновить pure-ftpd до версии 1.0.22 (released on April 27, 2009) и выше.
Автор: Vebsea
Дата сообщения: 11.02.2010 15:14
cluster
Да, именно он.
Ладно, буду разбиратьс с укозом
Спасибо всем!
Автор: BagaBaga
Дата сообщения: 11.02.2010 20:09
Вопрос скорее теоретический:
есть файл со строками, каждая строка - с позиционной записью, допустим
DDMMYYYYFFXX

Возможно ли на bat-файлах распарсить ее (т.е. записать в переменную значения с позиции А по позицию Я)?
Автор: 01MDM
Дата сообщения: 11.02.2010 20:16
BagaBaga
Что значит с "позиционной записью"?
Строку можно обрезать. Например:

Код:
set "string=DDMMYYYYFFXX"
echo %string:~4,4%
Автор: BagaBaga
Дата сообщения: 11.02.2010 22:18
01MDM,
"с позиционной записью", когда, например:
дата хранится в символах (знакоместах) с позициями 1-2
месяц - 3-4
год - 6-9
индекс1 - 10-11
индекс2 - 12-13

т.е. визуально это выглядит как одна строка (разделителей нет, смысл цифры зависит от ее позиции)

PS
ваш вариант "с обрезанием" строки подходит, спасибо
Автор: Ortios
Дата сообщения: 12.02.2010 19:39
Можно ли поток от одной команды перенаправить на вход другой команды, если поток не 1? Например:
sed.exe 2>1.txt
type 1.txt | findstr /N /C:E-mail >2.txt
Т.е. это надо сделать без создания промежуточного файла 1.txt
Автор: wolf0425
Дата сообщения: 12.02.2010 21:26
Ortios
sed.exe 2>&1 1>nul | findstr /N /C:E-mail >2.txt
Автор: Ortios
Дата сообщения: 12.02.2010 22:25
wolf0425
Спасибо, заблудился в трех соснах. Думал о том, как можно отфильтровать в подобных ситуациях вывод на экран.
sed.exe 2>&1 1>nul | findstr "script" 1>&2
Автор: kumarp
Дата сообщения: 13.02.2010 22:38
Подскажите, пожалуйста, ссылку на faq по avtoexec в Windows 7. Поиск не помог, краткий перечень справки тоже.
Мне нужно чтобы каждый раз при запуске cmd или пакетника, выполнялся набор команд.
Автор: 01MDM
Дата сообщения: 14.02.2010 08:25
kumarp

Код:
cmd /?
Автор: kumarp
Дата сообщения: 14.02.2010 10:37
Благодарю, то что надо. А подскажите, пожалуйста, как избежать выполнения этого autoexec в пакетном файле? Он полностью лишает работоспособности некоторые вызовы процедур (напр., "call :MAKE_SCREENSHOT").
Сложность в том, что мой батник запускается посредством hstart, чтобы скрыть окно (так что сделать "cmd /d" трудновато, да и к тому же скрипт, переданный в аргументах cmd, что-то не выполняется).
Хочется правильного решения (лучше я перепишу часть батника). На данный момент делаю очень плохо.. реестр правлю, а затем возвращаю.
Автор: wolf0425
Дата сообщения: 14.02.2010 12:23

Цитата:
мой батник запускается посредством hstart, чтобы скрыть окно

скрывай батник как все - командой cmdow.exe @ /hid из самого батника.
Автор: 01MDM
Дата сообщения: 14.02.2010 17:52
kumarp

Цитата:
Сложность в том, что мой батник запускается посредством hstart, чтобы скрыть окно (так что сделать "cmd /d" трудновато, да и к тому же скрипт, переданный в аргументах cmd, что-то не выполняется)

Не вижу сложности. У меня все отрабатывает:

Код:
hstart /noconsole "cmd /d /c 1.cmd"
Автор: SAOPP
Дата сообщения: 14.02.2010 21:44
Ребят, подскажите пожалуйста, можно ли запуская через батник файл, давать (назначать) ему рабочую папку аналогично как это происходит например в ярлыке:

файл: c:\utils\pc\bin\run.exe
рабочая папка: c:\utils\pc

Спасибо заранее.

Вышел из положения запуская батник из "рабочей папки" - по началу как-то и не подумал про это.
start bin\run.exe
Автор: Kirillhome
Дата сообщения: 14.02.2010 21:57
SAOPP

Код:
cd c:\utils\pc
call c:\utils\bin\run.exe
Автор: mugil_cephalus
Дата сообщения: 14.02.2010 22:14
SAOPP
start /d
Автор: kumarp
Дата сообщения: 14.02.2010 22:24
SAOPP, возможно тебе именно это нужно?

pushd "%~dp0"
(текущей назначается тот каталог, в котором хранится батник)


Добавлено:
wolf0425
01MDM
спасибо, я пересмотрю свой код.
Автор: mugil_cephalus
Дата сообщения: 14.02.2010 23:08
kumarp
могу сказать только про win 5.1:
1)
Цитата:
процедур (напр., "call :MAKE_SCREENSHOT").

В команде goto используются только первые восемь знаков метки. Например, следующие метки эквивалентны и рассматриваются как :hithere0:

:hithere0

:hithere01

:hithere02
2)
Цитата:
Сложность в том, что мой батник запускается посредством hstart, чтобы скрыть окно

создать *.job на, как писал 01MDM

Цитата:
Код:
hstart /noconsole "cmd /d /c 1.cmd"

~ SCHTASKS /Create /sc onstart /tr C:\windows\system32\hstart.exe /noconsole "cmd /d /c 1.cmd"
3) autoexec.nt и config.nt выполняются только для ComSpec - command.com
для ComSpec - cmd.exe :
Выполнение подразделов реестра
Если в строке не указан параметр /d, программа Cmd.exe выполняет поиск следующих подразделов реестра:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun REG_EXPAND_SZ

Если присутствуют один или оба подраздела реестра, они выполняются перед всеми другими переменными.
Автор: SAOPP
Дата сообщения: 16.02.2010 00:01
Ребят спасибо за отзывы. Но я остался при своём, реально просто не подумал, что запуская батник из дириктории, которая должна быть рабочим каталогом, она и назначается именно как рабочий каталог, уже оттуда вызываю приложение - и оно прекрасно обращается и видит конфиг, который как раз таки и расположен рядом с батником...
Автор: Ykidia
Дата сообщения: 17.02.2010 19:27
И снова здравствуйте, возник еще вопрос. Вот на этой картинке показано, чего я хочу добиться сразу же после создания и форматирования раздела. Как можно отключить это индексирование в командной строке?
Автор: lorents
Дата сообщения: 17.02.2010 23:01
не подскажите, как можно сделать следующее:
есть некая папка (назовем ее главная папка) и в ней различные папки и файлы, как можно найти все файлы одно разрешения в главной папке?
Автор: Kirillhome
Дата сообщения: 18.02.2010 13:47
Ykidia
На картинке - просто молоток... (ну, не просто, а с гвоздодёром)
К чему это?

lorents

Цитата:
...найти все файлы одно разрешения в главной папке...

Переведи
Все графические файлы одного разрешения?
Все видео-файлы одного разрешения?
Все файлы с каким-либо расширением?
Чего ищем то???
Автор: Ykidia
Дата сообщения: 18.02.2010 15:13
Kirillhome
Прошу прощения, сломали, вчера проверял - все было на месте... Вот еще одна картинка или, если опять вдруг сломают, по поиску.
Нужен аналог снятия галочки "Разрешить индексирование диска для быстрого поиска" для командной строки.
Автор: Myster
Дата сообщения: 18.02.2010 18:32
Проясните, пожалуйста...
Есть текстовый файл с разделителями "|". Из строк, где первое поле = "UF", надо извлечь третье поле. Вроде бы скрипт (кусок только, отвечающий за это) работает:

for /f "usebackq delims=| tokens=1,3" %%i in ( `type "InFile"` ) do (
if "%%i"=="UF" (
    echo %%j>>"OutFile"
)
)

Но! Если второе поле пустое, то извлекает уже четвертое поле Например, при таком входном файле:

UF|1|123|6|
UF||456|7|

на выходе получим:

123
7

Как все-таки получить желаемое?
Автор: mugil_cephalus
Дата сообщения: 18.02.2010 18:56
Myster
delims=^|
Автор: lorents
Дата сообщения: 18.02.2010 19:40
Kirillhome

Цитата:
Все графические файлы одного разрешения?
Все видео-файлы одного разрешения?
Все файлы с каким-либо расширением?

не знал, что это влияет на поиск файлов, мне нужны файлы *.png
Автор: Myster
Дата сообщения: 18.02.2010 20:15
mugil_cephalus

Цитата:
delims=^|

Не работает

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: XP не видит второй раздел на съемном USB-HDD


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