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

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

Автор: Dantis
Дата сообщения: 28.04.2008 06:52

Цитата:
@echo off

for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do (
for /f "tokens=*" %%i in ('dir /b /s %%i:\Favorites.xml 2^>nul') do (
echo %%i | findstr "Favorites.xml" 1>nul && (
copy "%%i" "%~dp0"
goto:eof
)
)
)


блин.. появилась маленькая проблема =(. Таких файлов больше чем 1.. и я так понял что он копирует первый попавшийся. Можно ли сделать так что бы каждый найденный файл с таким именем копировался в папки под названиемя 1, 2, 3, и т.д
Автор: 01MDM
Дата сообщения: 28.04.2008 07:55
Dantis


Код:
@echo off
setlocal enabledelayedexpansion

for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do (
if /i not %%i:==%~d0 (
for /f "tokens=*" %%i in ('dir /b /s %%i:\Favorites.xml 2^>nul') do (
echo %%i | findstr "Favorites.xml" 1>nul && (
set /a count+=1
xcopy "%%i" "%~dp0\!count!\"
)
)
)
)
Автор: metraton
Дата сообщения: 28.04.2008 08:11
Elroir

Цитата:
1. Попробуй добавить к команде ключ "/t".
2. Попробуй воспользоваться утилитой pskill.exe

Безполезно. Ни taskkill с ключём /t, ни pskill.exe не справляются. Причина всё та-же: Access is denied.
Автор: vint321
Дата сообщения: 28.04.2008 12:13
Есть проблемка
Пользуюсь YSM icq (консольная аська), очень хочу ее на флешку на она хранит config в document and setting\(user)ycm\ysm.cfg
Можно ли про помощи батника заставить его брать конфиг из родительской папки?
Автор: igor_andreev
Дата сообщения: 28.04.2008 12:45
vint321

Цитата:
Attention: an alternate configuration path/name can be used by specifying "-c path_to_config" to the ysm binary.

http://ysmv7.sourceforge.net/documentation/ysm_manual.html
Автор: vint321
Дата сообщения: 28.04.2008 13:01
igor_andreev

Огромное человеческое спасибо.
Мот еще подскажеш как заставить его пронимать и отправлчть кириллицу (ато латинка некоторых вводит в стопор).
Автор: igor_andreev
Дата сообщения: 28.04.2008 13:12
vint321

Цитата:
Мот еще подскажеш как заставить его пронимать и отправлчть кириллицу (ато латинка некоторых вводит в стопор).

Я аськой вообще не пользуюсь. Но тем не менее подскажу - всегда читайте мануалы. Ссылку на мануал я тебе дал. В ysm конфиге есть CHARSET_TRANS и CHARSET_LOCAL.
Автор: vint321
Дата сообщения: 28.04.2008 13:17
igor_andreev

Спасибо .


Автор: Dantis
Дата сообщения: 28.04.2008 15:21
Ктомне помжет подсказать ? почему у меня не работает код

schtasks /create /ru Dantis /rp YourPassword /sc daily /tn Reboot /st 03:00:00 /tr "shutdown /r /t 30"


Задачу создает.. но пишет что запуск не удолся


Добавлено:
раньше все работало =(
Автор: vint321
Дата сообщения: 28.04.2008 15:36
как батником изменить шрифт консоли с raster fonts на lucida console
Автор: igor_andreev
Дата сообщения: 28.04.2008 15:48
vint321
В реестре все, в ключе
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
FaceName, FontFamily, FontSize...

Код:
reg add /?
Автор: 01MDM
Дата сообщения: 28.04.2008 16:00
igor_andreev

Сразу не получится, надо отлогиниваться или в свойствах тыркать.
Автор: igor_andreev
Дата сообщения: 28.04.2008 16:05
01MDM
Ну естественно не сразу в консоли вдруг все буквы изменятся, а после перезапуска cmd.exe. Но не после logoff.
Автор: vint321
Дата сообщения: 28.04.2008 16:16
грустная история
неужели так уж одним батником ничего и несделать?

А можно ли заставить брать шрифт из файла? (наверно глупость сказал)
Автор: 01MDM
Дата сообщения: 28.04.2008 16:33
igor_andreev

Цитата:
а после перезапуска cmd.exe. Но не после logoff.


Мне приходится перелогиниваться


Код:
reg add "hkcu\Console" /v "FaceName" /t reg_sz /d "Lucida Console" /f
reg add "hkcu\Console\cmd" /v "FaceName" /t reg_sz /d "Lucida Console" /f
rundll32.exe user32.dll,UpdatePerUserSystemParameters
Автор: igor_andreev
Дата сообщения: 28.04.2008 16:56
01MDM

Код:
@echo off

rem сохраняем текущие настройки cmd.exe в файл
reg export HKCU\Console\%%SystemRoot%%_system32_cmd.exe "%temp%\console_settings_backup.reg"
reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /f

reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /d "Lucida Console" /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /t REG_DWORD /d 0x00000036 /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 0x00120000 /f
rundll32.exe user32.dll,UpdatePerUserSystemParameters

rem запускаем окно cmd с шрифтом Lucida Console и размером 18
start cmd /k echo it's font Lucida Console

reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /d "Terminal" /f
reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 0x0012000a /f
rundll32.exe user32.dll,UpdatePerUserSystemParameters

rem запускаем окно cmd с шрифтом Terminal и размером 10x18
start cmd /k echo it's font Terminal

rem восстанавливаем настройки из файла
reg import "%temp%\console_settings_backup.reg"
rundll32.exe user32.dll,UpdatePerUserSystemParameters
Автор: DiMaS_2006
Дата сообщения: 28.04.2008 17:37
Поэкспериментировав, нашел решение. Юзера и пароль надо указывать полными словами и в команде (из txt не выходит). Вот так:
Код: ftps.exe -s:C:\1.txt -user:anonymous -password: -d
Автор: igor_andreev
Дата сообщения: 28.04.2008 18:13
По идее, если положишь вот такой батник в папку SendTo, то сможешь отправлять файлы на свой фтп. ftps.exe кинь в Windows\system32. На файле правой кнопкой мыши -> Отправить.

Код:
@ECHO OFF

ECHO open ftp.burnet.ru>"%TEMP%\SCRIPT.FTP"
ECHO cd incoming/users/DiMas>>"%TEMP%\SCRIPT.FTP"
ECHO passive>>"%TEMP%\SCRIPT.FTP"
ECHO binary>>"%TEMP%\SCRIPT.FTP"
ECHO put "%~1">>"%TEMP%\SCRIPT.FTP"
ECHO bye>>"%TEMP%\SCRIPT.FTP"

FTPS -s:"%TEMP%\SCRIPT.FTP" -user:anonymous -password: -d
DEL "%TEMP%\SCRIPT.FTP"
Автор: DiMaS_2006
Дата сообщения: 28.04.2008 19:03
igor_andreev
Спасибо, но, увы, та же история, пока выполняется батник, пишется
Код: ftp> C:\Documents and Settings\Дима\Рабочий стол\123.jpg: File not found
Автор: igor_andreev
Дата сообщения: 28.04.2008 20:19
DiMaS_2006
chcp 1251 в начале батника напиши
Автор: STtt
Дата сообщения: 28.04.2008 20:59
Повторю еще раз свою прозьбу. Уже пальци устали копировать из одного места в другое и обратно по пять раз в день.
Не удается копировать папку. Помогите с решение этой задачи. Вот мой bat:

Код: xcopy "%SYSTEMDRIVE%\Users\weer\AppData\Roaming\uTorrent" "D:\1\test" /s/y/h/k/q
Автор: 01MDM
Дата сообщения: 28.04.2008 21:21
STtt

В XP такой вариант работает. Если целевая папка существует

Попробуй так. Должно работать в любом случае

Код:
xcopy "%SYSTEMDRIVE%\Users\weer\AppData\Roaming\uTorrent\*" "D:\1\test\" /s /y /h /k /q
Автор: Nagual
Дата сообщения: 28.04.2008 23:30
STtt
да возьми же ты robocopy, она для копирования папок просто идеальна

Код:
robocopy "%SYSTEMDRIVE%\Users\weer\AppData\Roaming\uTorrent" "D:\1\test" /mir


для xcopy имхо так:
Код:
if not exist "D:\1\test" md "D:\1\test"
xcopy/y/e/v/c/i/h/r/k/g/z "%SYSTEMDRIVE%\Users\weer\AppData\Roaming\uTorrent" "D:\1\test\"

тут почитай, приводится код для создания портативности utorrent, возможно, тебе нужно именно это
Автор: AdepTcs
Дата сообщения: 29.04.2008 02:42
хм... ответа я видимо не дождусь...
Автор: Nagual
Дата сообщения: 29.04.2008 03:14
есть каталог D
структура dir1, dir2, dir3, dirN (dir/b/s/a:d D)
нужно получить переменную вида
dir1;dir2;dir3;dirN
Автор: Elroir
Дата сообщения: 29.04.2008 03:28
AdepTcs
Проверь Windows\System32 директорию. Твой reg файл должен быть там.

Nagual
Не понятно.
Автор: Tipulatoid
Дата сообщения: 29.04.2008 07:39
Nagual
Насколько я понял задачу:

Код: @echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /b /s /a:d') do call :label1 %%a
echo %var:~1%
goto :eof


:label1
if %~1=="" goto :eof
set symbol=0
set foldernum=0

:next
set stroka=%~1
set /a symbol+=1
if "!stroka:~%symbol%,1!"=="\" set /a foldernum+=1
if "!stroka:~%symbol%,1!" NEQ "" goto next
set /a foldernum+=1
for /f "delims=\ tokens=%foldernum%" %%a in ('echo %~1') do set var=!var!;%%a
goto :eof
Автор: bmax
Дата сообщения: 29.04.2008 10:21
Помогите пожалуйста поправить код:
Необходимо найти последний файл в папке "D:\1" и определить дату его создания(вплоть до секунд).
Затем в папке "D:\2" найти найти файл созданный в это же время и при условии что в этом файле не присутствует последовательноть символов "qwe" или "rty" или "uio" он копируется в папку "D:\3"

@echo off
FOR /f "tokens=*" %%i in ('dir /b /s /a-d "D:\3\*.*"') do set /a count+=1
IF EXIST D:3\*.* set "count=0%count%" ELSE
set "count=00%count%"
set "count=%count:~-2%"
for /f "tokens=*" %%c in ('dir "D:\1\*.*" /o:-d /t:c /b /a:-d') do (
- определить дату создания последнего файла(с секундами)???????
- найти в папке D:\2 файл с такой же датой создания и если выполняется условие?????????
more +3 "D:\2\%%f" | findstr "qwe rty uio" 1>nul || (
copy /y /D "D:\2\%%f" "D:\3\17%date:~0,2%%count%.dvc"
goto :eof
)
)
Заранее благодарен за помощь!
Автор: mrGizmik
Дата сообщения: 29.04.2008 11:48
Народ Хелп.
ситуация следующего характера уже упарился.
Короче Win2003 bat файл должен выгружать на FTP (используем ftp.exe) *.rar архив, потом на другой машине где тоже стоит 2003 он должен зайти и забрать этот архив. Все прекрасно работает загружет выгружает создает архивирует.. НО! при распаковке лажа получается... недогружает буквально децл инфы какихто 15 байт при выгрузке на ФТП.
причем что сам rar архив что любой файл. из под XP все работает прекрасно в обе стороны все переливается и распаковывается в 2003 тоже все переливается но не распаковывается типа "неожиданный конец архива" выгружаемые файлы в порядке, лажа происходит при выгрузке файла.
Добавлять информацию для востановления пробовал, не помагает.
в чем прикол? я что-то догнать немогу. ПЛиз ХЕЛП!
Автор: DiMaS_2006
Дата сообщения: 29.04.2008 12:24
igor_andreev
Спасибо! Все заработало

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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