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

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

Автор: braconier
Дата сообщения: 08.11.2010 10:09
подскажите пожалуйста как проверить существует ли диск с такой буквой? просто я при формирование бэкапов подключаю сетевой диск с буквой М: а на некоторых компах уже есть диск с такой буквой.
Автор: BVV63
Дата сообщения: 08.11.2010 10:32
braconier

Код: If (Not) Exist X:\Nul ...
Автор: mouser
Дата сообщения: 08.11.2010 10:37
нашел ... if 0 LSS %~z1 far /e 1.txt

как удалить пустые переходы на новые строки ???
Автор: mouser
Дата сообщения: 08.11.2010 13:08
всем спасибо ))) ... получилось с тем же gsar но только через HEX
Автор: wolf0425
Дата сообщения: 08.11.2010 14:24

Цитата:
как удалить пустые переходы на новые строки ???

удалить все пустые строки:

Код: sed "/./!d" <file1.txt >file2.txt
Автор: slech
Дата сообщения: 08.11.2010 14:49
подскажите подалуйста как можно получить лишь значение SID пользователя в переменную ?
програмуля от Microsoft выдаёт такой вот вывод:

Цитата:

D:\>getsid \\st user \\st user
The SID for account ST\user matches account ST\user
The SID for account ST\user is S-1-5-21-57989841-573735546-682003330-1003
The SID for account ST\user is S-1-5-21-57989841-573735546-682003330-1003


set sid=S-1-5-21-57989841-573735546-682003330-1003
мне вот как-то так нужно
Автор: wolf0425
Дата сообщения: 08.11.2010 15:03
slech ну наверно так сойдет:

Код: for /f "tokens=7" %%a in (' getsid \\st user \\st user ') do set "sid=%%a"
Автор: slech
Дата сообщения: 08.11.2010 15:21
wolf0425
всё работает, спасибо.
Автор: SYaros
Дата сообщения: 08.11.2010 16:10
Подскажите нужен батник который просто копирует архив с меняющимся именем такого формата
201011080230backup.RAR (где год, месяц, день и время создания)в нужную папку по сети.Имя архива каждый день новое то есть меняется текущая дата.Время не меняется всегда 0230.

вот навоял начало, но это конкретного файла, а нужно файл который создался текущей датой
xcopy "D:\В1\201011080230backup.RAR" "\\Tovar\base\*.*"


Заранее благодарю за любую помощь.
Автор: king_stiven
Дата сообщения: 08.11.2010 16:35
SYaros
или говори в каком формате у тебя
%date%
или в шапке готовое решение

Цитата:
Работа с текстом, датой, и файлами »

Автор: SYaros
Дата сообщения: 08.11.2010 16:51
в) Использовать формат YYYYMMDDHHMM, поместив дату до 'backup':

WinRAR a -ag+YYYYMMDDHHMM backup

Автор: david141
Дата сообщения: 08.11.2010 16:57
Всем привет. Очень нужна ваша помощь.
Не получается добавить цифру в файл.
Делаю так:

echo IsRelative=1>>profiles.ini
Не добавляется цифра 1

Записывается в файл так: IsRelative=
А нужно так без пробелов: IsRelative=1

Пожалуйста.
Автор: res2001
Дата сообщения: 08.11.2010 16:58
david141
Делай так:
echo IsRelative=1 >>profiles.ini
Автор: david141
Дата сообщения: 08.11.2010 17:08

Цитата:
Делай так:
echo IsRelative=1 >>profiles.ini


Тогда получается пробел после IsRelative=1...
А он не нужен. Вернее с из-за его не работает файл
Автор: wolf0425
Дата сообщения: 08.11.2010 17:43
david141
1>>profiles.ini echo IsRelative=1
Автор: david141
Дата сообщения: 08.11.2010 17:51
wolf0425

Спасибо. Всё работает.
Автор: Kirillhome
Дата сообщения: 08.11.2010 18:53
david141
А можно и так
echo IsRelative=^1>>profiles.ini

Автор: smirnvlad
Дата сообщения: 08.11.2010 19:43
SYaros
чтобы скопировать последний созданный *backup.rar в папке


Код: [no]
pushd D:\B1\
for /F "tokens=*" %%a in ('dir *backup.rar /b /A:-D /O:-D /T:C 2^>nul') do xcopy "D:\B1\%%a" "\\Tovar\base\*.*" & exit
[/no]
Автор: king_stiven
Дата сообщения: 08.11.2010 20:32
Kirillhome
но всё таки каноничнее и безгеморройнее всё таки

Цитата:
1>>profiles.ini echo IsRelative=1

Автор: wolf0425
Дата сообщения: 08.11.2010 21:21
ну если хотите ещё поизвращаться с вариантами - вот ещё
Код: (echo IsRelative=1)>>profiles.ini
Автор: Maximus777
Дата сообщения: 09.11.2010 06:12
Помогите с задачей. Есть ini-шник. С поиском имени секции нет проблем, но как можно обратиться к первой строке после имени найденной секции? Или как-то проиндексировать инишник, чтоб можно было извлечь нужную строку/строки?

Код: [section1]
value1=a
value2=b

[section2]
value1=c
value2=d

...
Автор: bomzzz
Дата сообщения: 09.11.2010 06:23
ну как как если строка нашлась то у какой нибудь переменной сменить значение с нуля на единицу например

Добавлено:
или так внутри цикла разбора текстового файла, первой строкой проверять чему равна переменная некая, в второй строкой присваивать этой переменной значение I. тогда каждый цикл итеррации в переменной сначала будет предъидущее значение цикла.
Автор: smirnvlad
Дата сообщения: 09.11.2010 06:35
Maximus777


Цитата:
Помогите с задачей. Есть ini-шник. С поиском имени секции нет проблем, но как можно обратиться к первой строке после имени найденной секции? Или как-то проиндексировать инишник, чтоб можно было извлечь нужную строку/строки?


[more]
ini для примера

Код: [no]
[section1]
value1=a
value2=b

[section2]
value1=c
value2=d

[section123]
value1=e
value2=f

[not_section3]
value1=g
value2=h
[/no]
Автор: bomzzz
Дата сообщения: 09.11.2010 06:37
так вот примерно но тут ошибки могут быть

setlocal enabledelayedexpansion
for /f "delims=" %%I in (my.ini) do (
if !previous!==[section2] set mystring=%%I
set previous=%%I
)
echo %mystring%
pause


Добавлено:
чтоб извлечь строки нужно использовать что переменная mystring изменила значение

Добавлено:
а можно два цикла сделать - в первом почитать номер нужной строки, а во второй добавить параметр пропускающий это количество строк с начала.
Автор: Maximus777
Дата сообщения: 09.11.2010 08:19
Спасибо за предложенные варианты. Придётся сейчас все опилки перетряхнуть. Ох как бы классно было, если бы код хоть маломальски комментировался. Но в любом случае благодарю. Что-нибудь да выпилю.
Автор: smirnvlad
Дата сообщения: 09.11.2010 09:28
Maximus777
добавил комментарии в предыдущем сообщении
Автор: bomzzz
Дата сообщения: 09.11.2010 09:33
ему наверно нужны не все строки после начала второй секции, а только строки из второй секции. так и не сообразил как это в один оператор решить
Автор: Maximus777
Дата сообщения: 09.11.2010 09:55
smirnvlad
спасибо огромное. Вообще ваш ответ надо в шапку с заголовком "Разбор *.ini". Очень красивое решение. Уже переделал для себя код. Один вопрос только остался, в коде есть переход на конец файла. А если там дальше ещё код идёт, как это урегулировать? goto :next вместо goto :eof не прокатывает.
У меня в инишнике четыре секции, из каждой надо вынуть только первый параметр. Как бы отдельно батник по этой задаче работает отлично, но после разбора секций надо же другую работу проделать. В параметрах хранятся пути, вот по этим путям надо сходить и сделать своё дело.
Автор: OOD
Дата сообщения: 09.11.2010 10:16
подскажите как сделать циклическое удаление из всех папок по маске?

Код: cd c:\dir
echo y | del *.vir
Автор: res2001
Дата сообщения: 09.11.2010 10:21
Maximus777

Цитата:
А если там дальше ещё код идёт, как это урегулировать? goto :next вместо goto :eof не прокатывает.

Весь нужный код пиши перед goto:eof

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Windows 7 Starter


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