Дело в том что программа минимайзер никак не связана со скайпом, она дает возможность сварачивать quake, и будут ли какие изменения всвязи с этим?
» Задачи на bat-файлах 6
metrim
Цитата:
Да, именно так. Сначала создается файл со всеми возможными ссылками (all_range.txt), потом создается файл с тем, что уже есть на диске (local.txt), а потом в файл download.txt записываются все ссылки из первого файла, которые не содержат названий файлов из pre.txt и из local.txt.
Цитата:
Код:
@echo off
setlocal enabledelayedexpansion
:: Вносим в переменную то, что было передано аргументом ком. строки
set "start=%~1"
:: Определяем вспомогательную переменную для подсчета кол-ва ведущих нулей
set "position=0"
:: В следующем блоке, находим количество ведущих нулей и
:: определяем переменную prefix с этими нулями
:find_prefix
if "!start:~%position%,1!"=="0" (
set "prefix=!prefix!0"
set /a "position+=1"
goto :find_prefix
)
:: в переменную "_start" записываем начальный индекс без ведущий нулей
set "_start=!start:~%position%!"
:: в переменную "_end" записываем конечный индекс
set /a "_end=_start+100000"
:: стираем файл "all_range.txt" (если он существует) и создаем его заново - со всеми возможными ссылками
del /q all_range.txt 2>nul & for /l %%a in (%_start%,1,%_end%) do (
:: прибавляем ведущие нули к индексу
set "whole_number=%prefix%%%a"
:: записываем полную ссылку в файл
echo http://domen/!whole_number:~0,4!/!whole_number:~4,2!/!whole_number!.file>>all_range.txt
)
:: стираем файл "local.txt" (если он существует) и создаем его заново - со всеми уже существующими файлами
del /q local.txt 2>nul & for /f "tokens=*" %%a in ('dir /b "C:\Temp\Downloaded\*.file"') do echo %%~nxa>>local.txt
:: фильтруем all_range.txt
type all_range.txt | findstr /v /g:pre.txt | findstr /v /g:local.txt>download.txt
del /q all_range.txt 2>nul
del /q local.txt 2>nul
Цитата:
На первый взгляд - генерируется временный файл из которого потом вычищются наличествующие файлы/ссылки?
Да, именно так. Сначала создается файл со всеми возможными ссылками (all_range.txt), потом создается файл с тем, что уже есть на диске (local.txt), а потом в файл download.txt записываются все ссылки из первого файла, которые не содержат названий файлов из pre.txt и из local.txt.
Цитата:
Жаль что без комментариев программа, но попробую разобраться.
путь к файлу (ссылка) формируется следующим образом:
http://домен/1-4цифры/5,6цифры/весь номер
Код:
@echo off
setlocal enabledelayedexpansion
:: Вносим в переменную то, что было передано аргументом ком. строки
set "start=%~1"
:: Определяем вспомогательную переменную для подсчета кол-ва ведущих нулей
set "position=0"
:: В следующем блоке, находим количество ведущих нулей и
:: определяем переменную prefix с этими нулями
:find_prefix
if "!start:~%position%,1!"=="0" (
set "prefix=!prefix!0"
set /a "position+=1"
goto :find_prefix
)
:: в переменную "_start" записываем начальный индекс без ведущий нулей
set "_start=!start:~%position%!"
:: в переменную "_end" записываем конечный индекс
set /a "_end=_start+100000"
:: стираем файл "all_range.txt" (если он существует) и создаем его заново - со всеми возможными ссылками
del /q all_range.txt 2>nul & for /l %%a in (%_start%,1,%_end%) do (
:: прибавляем ведущие нули к индексу
set "whole_number=%prefix%%%a"
:: записываем полную ссылку в файл
echo http://domen/!whole_number:~0,4!/!whole_number:~4,2!/!whole_number!.file>>all_range.txt
)
:: стираем файл "local.txt" (если он существует) и создаем его заново - со всеми уже существующими файлами
del /q local.txt 2>nul & for /f "tokens=*" %%a in ('dir /b "C:\Temp\Downloaded\*.file"') do echo %%~nxa>>local.txt
:: фильтруем all_range.txt
type all_range.txt | findstr /v /g:pre.txt | findstr /v /g:local.txt>download.txt
del /q all_range.txt 2>nul
del /q local.txt 2>nul
K_AHTOH
Цитата:
просто меня очень смущает в той строке батника, что имяфайла - внешний парамер батника,
а обработка для имяфайла вызывается столько раз в скольки строках лога дата модификации файла прописанного в шестой колонке лога не совпадает с текущей но сама строка содержит подстроку имяфайла.
если нужно проверить %1 на текущую дату модификации - зачем накручивать построчный разбор лога, и наоборот...
Цитата:
Пропускать обработку файла который создан сегодня (по аналогии удаления старых файлов)
просто меня очень смущает в той строке батника, что имяфайла - внешний парамер батника,
а обработка для имяфайла вызывается столько раз в скольки строках лога дата модификации файла прописанного в шестой колонке лога не совпадает с текущей но сама строка содержит подстроку имяфайла.
если нужно проверить %1 на текущую дату модификации - зачем накручивать построчный разбор лога, и наоборот...
спасибо люди добрые одну часть проблемы решил ))
теперь подскажите правельные параметры для утилиты cmdow что бы скрыть окно выполнения.
и еще просьба как сделать так чтобы батник автоматом запускался и не был виден в диспечере задач и автозагрузке
с уважением
теперь подскажите правельные параметры для утилиты cmdow что бы скрыть окно выполнения.
и еще просьба как сделать так чтобы батник автоматом запускался и не был виден в диспечере задач и автозагрузке
с уважением
Помогите плз, застрял с одной фигней.
[more]
GOTO start
:start
for /F "tokens=2 delims=: skip=2" %%a in ('ipconfig ^| findstr "IP"') do (if not defined myip set myip=%%a)
find /i "%myip%" < Spisok>NUL
IF "%errorlevel%"=="0" (
RECONNECT
rasdial "prov" /disconnect
PING 1.1.1.1 -n 1 -w 8000 >NUL
rasdial "Prov" user pass
GOTO start
) ELSE (
echo %myip% >>Spisok
)
[/more]
Проблема в том, что даже если АЙ ПИ уже новый, то с FOR получаем каждый раз , АЙ ПИ , который был получен в первый раз.
Похоже , что в FOR не заходит снова, даже если я к этому принуждаю.
Помогите плз
[more]
GOTO start
:start
for /F "tokens=2 delims=: skip=2" %%a in ('ipconfig ^| findstr "IP"') do (if not defined myip set myip=%%a)
find /i "%myip%" < Spisok>NUL
IF "%errorlevel%"=="0" (
RECONNECT
rasdial "prov" /disconnect
PING 1.1.1.1 -n 1 -w 8000 >NUL
rasdial "Prov" user pass
GOTO start
) ELSE (
echo %myip% >>Spisok
)
[/more]
Проблема в том, что даже если АЙ ПИ уже новый, то с FOR получаем каждый раз , АЙ ПИ , который был получен в первый раз.
Похоже , что в FOR не заходит снова, даже если я к этому принуждаю.
Помогите плз
Herissen
Цитата:
Код:
CMDOW @ /HID
::Ваш код...
Цитата:
подскажите правельные параметры для утилиты cmdow что бы скрыть окно выполнения
Код:
CMDOW @ /HID
::Ваш код...
Цитата:
Ну в диспетчере по любому будет виден процесс cmd.exe, разве, что скомпилировать батник в exe-файл с каким нибудь "страшным" именем, что-то вроде svchost.exe
да ладно бог с ним в деспечере ))) пусть весит.
как сделать автозагрузку файла, но чтобы он не отображался в пункте автозагрузка
Началось все отсюда
Все работает но есть одно НО. Файл который сформирован сегодняшней датой нельзя передовать на обработку.
Хотел сделать по аналогии удаления старых файлов, вот так:
Код: for /F "tokens=1 delims=;" %%d in ('findstr /L /I /C:"%1" %logfile%') DO (echo %%~ti | findstr /v %date% 1>nul && call :wrk %1)
Все работает но есть одно НО. Файл который сформирован сегодняшней датой нельзя передовать на обработку.
Хотел сделать по аналогии удаления старых файлов, вот так:
Код: for /F "tokens=1 delims=;" %%d in ('findstr /L /I /C:"%1" %logfile%') DO (echo %%~ti | findstr /v %date% 1>nul && call :wrk %1)
K_AHTOH, какие-то разброд и шатания у тебя в батнике
ECHO %date:~-10% %time:~,5% %1 >> %LOGFILE%
имяфайла - третий столбец, разделение столбцов - пробелами
for /F "tokens=1 delims=;" %%d in ('findstr /L /I /C:"%1" %logfile%') DO (echo %%~ti | findstr /v %date% 1>nul && call :wrk %1)
%%i - шестой столбец лога (при первом %%d), разделитель столбцов - ";" (идейно более правильный, чем пробел, но несовпадающий с форматом echo)
в строке перед SET "SEEKIN потерян && перед goto. Кривой копипасте?
ну и хотя в данном случае некритично, но перед меткой :wrk не помешала бы строка goto :eof
в :chk parser.exe надо вызвать только когда %1 не сегодняшний и его нет в %logfile% ?
наворочено то... заменяешь свою :chk на то что ниже, саб :wrk выкидываешь, проверяешь.
:chk
set "data1=%~t1"
if "%data1:~0,10%"=="%data%" goto :eof
findstr /L /I /C:"%~1" %logfile% >nul && goto :eof
ECHO FOUND NEW FILE %1
D:\parser.exe -tfsfile "%~1" -outdir !Outputdir!
if errorlevel 0 ECHO %date:~-10% %time:~,5% %1 >> %LOGFILE%
goto :eof
Кстати, а то что в лог никак не заносятся те файлы, на которых парсер был запущен и вернул ошибку - так и надо?
ECHO %date:~-10% %time:~,5% %1 >> %LOGFILE%
имяфайла - третий столбец, разделение столбцов - пробелами
for /F "tokens=1 delims=;" %%d in ('findstr /L /I /C:"%1" %logfile%') DO (echo %%~ti | findstr /v %date% 1>nul && call :wrk %1)
%%i - шестой столбец лога (при первом %%d), разделитель столбцов - ";" (идейно более правильный, чем пробел, но несовпадающий с форматом echo)
в строке перед SET "SEEKIN потерян && перед goto. Кривой копипасте?
ну и хотя в данном случае некритично, но перед меткой :wrk не помешала бы строка goto :eof
в :chk parser.exe надо вызвать только когда %1 не сегодняшний и его нет в %logfile% ?
наворочено то... заменяешь свою :chk на то что ниже, саб :wrk выкидываешь, проверяешь.
:chk
set "data1=%~t1"
if "%data1:~0,10%"=="%data%" goto :eof
findstr /L /I /C:"%~1" %logfile% >nul && goto :eof
ECHO FOUND NEW FILE %1
D:\parser.exe -tfsfile "%~1" -outdir !Outputdir!
if errorlevel 0 ECHO %date:~-10% %time:~,5% %1 >> %LOGFILE%
goto :eof
Кстати, а то что в лог никак не заносятся те файлы, на которых парсер был запущен и вернул ошибку - так и надо?
wolf0425
Цитата:
Нет. Работает без него. (
Цитата:
Да именно так.
Цитата:
Он не возвращает ошибки к сожалению. Точнее всегда "0"
вот как отработало все
Код: C:\log\>if errorlevel 0 ECHO 27.02.2009 10:30 L:\comlog_26_02_200
9.tfs 1>>logfil.txt
C:\log\>goto :eof
C:\log\>call :chk L:\comlog_27_02_2009.tfs
C:\log\ "data1=27.02.2009 10:23"
C:\log\>if "27.02.2009" == "" goto :eof
C:\log\>findstr /L /I /C:"L:\comlog_27_02_2009.tfs" logfil.txt
1>nul && goto :eof
C:\log\>ECHO FOUND NEW FILE L:\comlog_27_02_2009.tfs
FOUND NEW FILE L:\comlog_27_02_2009.tfs
C:\log\>C:\M-200\callbuilder\parser.exe -tfsfile "L:\comlog_
27_02_2009.tfs" -outdir "C:\Log"
Цитата:
в строке перед SET "SEEKIN потерян && перед goto. Кривой копипасте?
Нет. Работает без него. (
Цитата:
в :chk parser.exe надо вызвать только когда %1 не сегодняшний и его нет в %logfile% ?
Да именно так.
Цитата:
Кстати, а то что в лог никак не заносятся те файлы, на которых парсер был запущен и вернул ошибку - так и надо?
Он не возвращает ошибки к сожалению. Точнее всегда "0"
вот как отработало все
Код: C:\log\>if errorlevel 0 ECHO 27.02.2009 10:30 L:\comlog_26_02_200
9.tfs 1>>logfil.txt
C:\log\>goto :eof
C:\log\>call :chk L:\comlog_27_02_2009.tfs
C:\log\ "data1=27.02.2009 10:23"
C:\log\>if "27.02.2009" == "" goto :eof
C:\log\>findstr /L /I /C:"L:\comlog_27_02_2009.tfs" logfil.txt
1>nul && goto :eof
C:\log\>ECHO FOUND NEW FILE L:\comlog_27_02_2009.tfs
FOUND NEW FILE L:\comlog_27_02_2009.tfs
C:\log\>C:\M-200\callbuilder\parser.exe -tfsfile "L:\comlog_
27_02_2009.tfs" -outdir "C:\Log"
Работает без него.
ага, работает - пока диск мапится. А если не замапится - прервется правильно?
а, у меня описка вылезла,
if "%data1:~0,10%"=="%date%" goto :eof
ага, работает - пока диск мапится. А если не замапится - прервется правильно?
а, у меня описка вылезла,
if "%data1:~0,10%"=="%date%" goto :eof
wolf0425
Спасибо!! Теперь все вроде работает.
Цитата:
Поставил... && Но там проблема... Если диск уже был открыт с такой буквой... Пока не знаю что делать.
Спасибо!! Теперь все вроде работает.
Цитата:
ага, работает - пока диск мапится. А если не замапится - прервется правильно?
Поставил... && Но там проблема... Если диск уже был открыт с такой буквой... Пока не знаю что делать.
Если диск уже был открыт с такой буквой... Пока не знаю что делать.
for %%a in ( m n o p q r s t u v w x y z ) do if not exist %%a:\nul set "netdisk=%%a:" && goto :setdisk
echo Cannot assighn disk && goto :eof
:setdisk
for %%a in ( m n o p q r s t u v w x y z ) do if not exist %%a:\nul set "netdisk=%%a:" && goto :setdisk
echo Cannot assighn disk && goto :eof
:setdisk
wolf0425
Спасибо!!!
Откатаю и выложу батник с описанием.
Спасибо!!!
Откатаю и выложу батник с описанием.
K_AHTOH
кстати, при мапинге на разные буквы вылезет еще бага - в лог пишется полный путь файла, и при разных мапингах прописанный поиск по логу %1 - обломится.
правка сравнения:
findstr /L /I /C:"%~pnx1" %logfile% >nul && goto :eof
интересно -сколько еще багов
кстати, при мапинге на разные буквы вылезет еще бага - в лог пишется полный путь файла, и при разных мапингах прописанный поиск по логу %1 - обломится.
правка сравнения:
findstr /L /I /C:"%~pnx1" %logfile% >nul && goto :eof
интересно -сколько еще багов
wolf0425
Спасибо только что увидел
Т.к. парсер запустился по новой
Спасибо только что увидел
Т.к. парсер запустился по новой
Требуется организация батника!
В разделе реестра HKLM\SOFTWARE\microsoft\windows\curentversion\uninstall\
существуют разделы для удаления программ, например такого вида {7f....db527}
в которых несется информация о продукте (publisher) и ключ для удаления (uninstallString)
Как найти необходимый продукт из массы {7f....db527} со строковым параметром (publisher) и при нахождении вытянуть строковый параметр для удаления (uninstallString)
Очень нужно - ПОМОГИТЕ!
В разделе реестра HKLM\SOFTWARE\microsoft\windows\curentversion\uninstall\
существуют разделы для удаления программ, например такого вида {7f....db527}
в которых несется информация о продукте (publisher) и ключ для удаления (uninstallString)
Как найти необходимый продукт из массы {7f....db527} со строковым параметром (publisher) и при нахождении вытянуть строковый параметр для удаления (uninstallString)
Очень нужно - ПОМОГИТЕ!
Все работает
Вот что в итоге у меня получилось:
Код: :: Скрипт предназначен для обработки файлов внешней программой
:: расположенных на удаленном компьютере с общим доступом.
:: После обработки файлы заносятся в список обработанных и больше не обрабатываются
:: Не обрабатывается также файл с текущей датой.
::
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:: Путь к источнику файлов
set "SourceDir=\\192.168.01.01\folder"
:: Домен\Логин
set "domean_login=dom\sysadmin"
:: Пароль
set "password=1234567"
:: Outputdir - директория вывода обработанных файлов
set "Outputdir= C:\LOG\"
:: Путь к программе парсера
set "parser= C:\parserdir\"
:: logfile.txt - файл, гда хранятся имена обработанных ранее файлов
set "logfile=logfil.txt"
:: Определяем свободную букву для подключаемого диска
for %%a in ( m n o p q r s t u v w x y z ) do if not exist %%a:\nul set "netdisk=%%a:" && goto :setdisk
echo Cannot assighn disk && goto :eof
:setdisk
:: Подключаем сетевой диск
net use %netdisk% %SourceDir% /user:%domean_login% %password%
If Not "!ErrorLevel!"=="0" ECHO %date:~-10% %time:~,5% Сетевой ресурс не доступен >> %LOGFILE% &&goto :eof
:: *.tfs фильтр по расширению файла
SET "SEEKIN=%netdisk%\*.tfs"
for %%f in (!SEEKIN!) DO call :chk %%f
:: ====== Завершение работы =====
:: отключаем сетевой диск
net use %netdisk% /delete /yes
:: очистка от мусора
IF EXIST %Outputdir%*.err del %Outputdir%*.err
IF EXIST %Outputdir%*.rm3 del %Outputdir%*.rm3
IF EXIST %Outputdir%*.jrn del %Outputdir%*.jrn
goto :eof
:chk
set "data1=%~t1"
if "%data1:~0,10%"=="%date%" goto :eof
findstr /L /I /C:"%~pnx1" %logfile% >nul && goto :eof
::ECHO FOUND NEW FILE %1
:: Запуск программы парсера (-tfsfile -outdir ключи парсера)
%parser%parser.exe -tfsfile "%1" -outdir !Outputdir!
if errorlevel 0 ECHO %date:~-10% %time:~,5% %1 >> %LOGFILE%
)
:wrk
if not "%1"=="" SET "NEW=0"
Вот что в итоге у меня получилось:
Код: :: Скрипт предназначен для обработки файлов внешней программой
:: расположенных на удаленном компьютере с общим доступом.
:: После обработки файлы заносятся в список обработанных и больше не обрабатываются
:: Не обрабатывается также файл с текущей датой.
::
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:: Путь к источнику файлов
set "SourceDir=\\192.168.01.01\folder"
:: Домен\Логин
set "domean_login=dom\sysadmin"
:: Пароль
set "password=1234567"
:: Outputdir - директория вывода обработанных файлов
set "Outputdir= C:\LOG\"
:: Путь к программе парсера
set "parser= C:\parserdir\"
:: logfile.txt - файл, гда хранятся имена обработанных ранее файлов
set "logfile=logfil.txt"
:: Определяем свободную букву для подключаемого диска
for %%a in ( m n o p q r s t u v w x y z ) do if not exist %%a:\nul set "netdisk=%%a:" && goto :setdisk
echo Cannot assighn disk && goto :eof
:setdisk
:: Подключаем сетевой диск
net use %netdisk% %SourceDir% /user:%domean_login% %password%
If Not "!ErrorLevel!"=="0" ECHO %date:~-10% %time:~,5% Сетевой ресурс не доступен >> %LOGFILE% &&goto :eof
:: *.tfs фильтр по расширению файла
SET "SEEKIN=%netdisk%\*.tfs"
for %%f in (!SEEKIN!) DO call :chk %%f
:: ====== Завершение работы =====
:: отключаем сетевой диск
net use %netdisk% /delete /yes
:: очистка от мусора
IF EXIST %Outputdir%*.err del %Outputdir%*.err
IF EXIST %Outputdir%*.rm3 del %Outputdir%*.rm3
IF EXIST %Outputdir%*.jrn del %Outputdir%*.jrn
goto :eof
:chk
set "data1=%~t1"
if "%data1:~0,10%"=="%date%" goto :eof
findstr /L /I /C:"%~pnx1" %logfile% >nul && goto :eof
::ECHO FOUND NEW FILE %1
:: Запуск программы парсера (-tfsfile -outdir ключи парсера)
%parser%parser.exe -tfsfile "%1" -outdir !Outputdir!
if errorlevel 0 ECHO %date:~-10% %time:~,5% %1 >> %LOGFILE%
)
:wrk
if not "%1"=="" SET "NEW=0"
Помогите плз, застрял с одной фигней.
Код:
GOTO start
:start
for /F "tokens=2 delims=: skip=2" %%a in ('ipconfig ^| findstr "IP"') do (if not defined myip set myip=%%a)
find /i "%myip%" < Spisok>NUL
IF "%errorlevel%"=="0" (
RECONNECT
rasdial "prov" /disconnect
PING 1.1.1.1 -n 1 -w 8000 >NUL
rasdial "Prov" user pass
GOTO start
) ELSE (
echo %myip% >>Spisok
)
Код:
GOTO start
:start
for /F "tokens=2 delims=: skip=2" %%a in ('ipconfig ^| findstr "IP"') do (if not defined myip set myip=%%a)
find /i "%myip%" < Spisok>NUL
IF "%errorlevel%"=="0" (
RECONNECT
rasdial "prov" /disconnect
PING 1.1.1.1 -n 1 -w 8000 >NUL
rasdial "Prov" user pass
GOTO start
) ELSE (
echo %myip% >>Spisok
)
ikif
Убери из строчки for-a "if not defined myip"
Убери из строчки for-a "if not defined myip"
Цитата:
Elroir
Спасибо огромное.
здравствуйте уважаемые.
помогите с проблемкой - как заставить for /f разобрать только 1 строку из текстового файла?
ситуация - есть 2 папки, в одной лежат нужные файлы, в другой есть файлы с таким же названием и куча других. задача - переместить файлы совпадающие с названиями в 1 папке в третью папку, а из первой во вторую. просто копировать из 1 во вторую нельзя, так как файлы заняты процессом и заменять себя не дают (зато дают перемещать).
пробовал получать список файлов и разбирать его через for /f
@echo off
dir /b files\patch >files\dir.txt
for /f "tokens=1 delims=*" %%i in (files\dir.txt) do echo %%i >files\tmp.txt
pause
но в итоге я получаю в переменную имя последнего файла в списке.
как получить из этого списка файлов (их немного 10-15 штук, и причем названия могут быть разными, поэтому и не получается привязаться ) соответственно 10-15 переменных и именем каждого файла в каждой?
помогите с проблемкой - как заставить for /f разобрать только 1 строку из текстового файла?
ситуация - есть 2 папки, в одной лежат нужные файлы, в другой есть файлы с таким же названием и куча других. задача - переместить файлы совпадающие с названиями в 1 папке в третью папку, а из первой во вторую. просто копировать из 1 во вторую нельзя, так как файлы заняты процессом и заменять себя не дают (зато дают перемещать).
пробовал получать список файлов и разбирать его через for /f
@echo off
dir /b files\patch >files\dir.txt
for /f "tokens=1 delims=*" %%i in (files\dir.txt) do echo %%i >files\tmp.txt
pause
но в итоге я получаю в переменную имя последнего файла в списке.
как получить из этого списка файлов (их немного 10-15 штук, и причем названия могут быть разными, поэтому и не получается привязаться ) соответственно 10-15 переменных и именем каждого файла в каждой?
bashik
Цитата:
попробуй так
Код:
@echo off
For /F %%i in ('dir files\patch\ /b') do echo %%i >>files\tmp.txt
pause
Цитата:
@echo off
dir /b files\patch >files\dir.txt
for /f "tokens=1 delims=*" %%i in (files\dir.txt) do echo %%i >files\tmp.txt
pause
попробуй так
Код:
@echo off
For /F %%i in ('dir files\patch\ /b') do echo %%i >>files\tmp.txt
pause
K_AHTOH
вот что в итоге у меня получилось:
похоже все на месте, хотя некоторое количество мусора осталось:
блок :wrk в конце - никому не нужен (но и ничего не портит)
блок :chk должен завершаться не закрывающей скобкой (к которой давно уже нет открывающей) а строкой goto :eof - это просто для предсказуемости, вдруг через месяц/год еще какую подпрограмму в конец файла допишешь.
ну и переменные в !! ( !SEEKIN! ) используются без необходимости, сгодились бы и в %%. но это косметика
вот что в итоге у меня получилось:
похоже все на месте, хотя некоторое количество мусора осталось:
блок :wrk в конце - никому не нужен (но и ничего не портит)
блок :chk должен завершаться не закрывающей скобкой (к которой давно уже нет открывающей) а строкой goto :eof - это просто для предсказуемости, вдруг через месяц/год еще какую подпрограмму в конец файла допишешь.
ну и переменные в !! ( !SEEKIN! ) используются без необходимости, сгодились бы и в %%. но это косметика
ponand
Цитата:
попробовал...
Цитата:
в результате копируется последний файл из 11, хотя в темп пишет все 11.
Цитата:
@echo off
For /F %%i in ('dir files\patch\ /b') do echo %%i >>files\tmp.txt
pause
попробовал...
Цитата:
@echo off
For /F %%i in ('dir files\patch\ /b') do set dir=%%i >>files\tmp.txt
copy system\%dir% files\client
pause
в результате копируется последний файл из 11, хотя в темп пишет все 11.
bashik
Цитата:
Код: for /f "tokens=*" %%e in ('dir "folder1" /b /a:-d') do (
MOVE "folder2\%%e" "folder3"
MOVE "folder1\%%e" "folder2"
)
Цитата:
есть 2 папки, в одной лежат нужные файлы, в другой есть файлы с таким же названием и куча других. задача - переместить файлы совпадающие с названиями в 1 папке в третью папку, а из первой во вторую
Код: for /f "tokens=*" %%e in ('dir "folder1" /b /a:-d') do (
MOVE "folder2\%%e" "folder3"
MOVE "folder1\%%e" "folder2"
)
king_stiven
большое спасибо. работает.
большое спасибо. работает.
wolf0425
Большое спасибо за помощь! (косметику поправлю)
У меня теперь другая проблема
Как запустить несколько экземпляров скриптов (со своими настроками) на удаленной машине под своей учетной записью?
Понимаю что можно написать батник и перечислить нужные скрипты, но тогда они будут выполнятся последовательно (пока не закончит выполнятся один второй не запустится).
Запускать нужно в шедулере. А та больше 2- процессов не получается запустить (система блокирует учетку.
Можно как нибудь из 1-го батника сразу запустить несколько параллельно?
Большое спасибо за помощь! (косметику поправлю)
У меня теперь другая проблема
Как запустить несколько экземпляров скриптов (со своими настроками) на удаленной машине под своей учетной записью?
Понимаю что можно написать батник и перечислить нужные скрипты, но тогда они будут выполнятся последовательно (пока не закончит выполнятся один второй не запустится).
Запускать нужно в шедулере. А та больше 2- процессов не получается запустить (система блокирует учетку.
Можно как нибудь из 1-го батника сразу запустить несколько параллельно?
э... а какие проблемы? что -
start "title1" script1.cmd
уже не запускает параллельно работающее окно?
start "title1" script1.cmd
уже не запускает параллельно работающее окно?
wolf0425
Запускает наверно... Я про нее и спрашивал .
Спасибо.
Добавлено:
Нет все же эту комманду надо как то по другому использовать...
Скрипт в итоге из шедулера запускается только 1 почемуто файл со списком обработанных ложится прямо возле этого общего пусковика.
Я так подозреваю что система не дала открыть еще один сеанс ...
Т.е. 1 общий пускатель 2. первый скрипт и все дальше ничего не работает.
Добавлено:
Вот общий запускатель :
Код: start "Старт 1 парсера" "D:\1926\parser\parser1.cmd"
start "Старт 2 парсера" "D:\2090\parser\parser2.cmd"
Запускает наверно... Я про нее и спрашивал .
Спасибо.
Добавлено:
Нет все же эту комманду надо как то по другому использовать...
Скрипт в итоге из шедулера запускается только 1 почемуто файл со списком обработанных ложится прямо возле этого общего пусковика.
Я так подозреваю что система не дала открыть еще один сеанс ...
Т.е. 1 общий пускатель 2. первый скрипт и все дальше ничего не работает.
Добавлено:
Вот общий запускатель :
Код: start "Старт 1 парсера" "D:\1926\parser\parser1.cmd"
start "Старт 2 парсера" "D:\2090\parser\parser2.cmd"
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: как сохранить сетевые настройки
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.