Поиск, остановка процесса, поиск и замена файла на разных дисках
Просьба помочь написать батник по следующим условиям:
1.Проверить не запущен ли файл skype.exe и если запущен убить процесс.
2.Найти на дисках файл main.db и заменить его аналогичным (main.db) из директории с батником.
3.Запустить skype.
|
Gawr33,
Код:
@echo off
2>nul taskkill /im skype.exe /f
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 exist %%i:\main.db copy /y main.db %%i:\
start "" "%programfiles%\skype\skype.exe"
|
Foreigner, процесс убивается и запускается но самое главное найти и скопировать что то не выходит, на этом вопросе я почему то завис
|
Цитата:
Цитата Gawr33
но самое главное найти и скопировать что то не выходит »
|
Может не хватает прав? В корень диска. Как вы запускаете батник? Попробуйте оставить только существующие диски и прописать путь к батнику:
Код:
for %%i in (c d) do (
if exist %%i:\main.db copy /y "%~dp0main.db" %%i:\main.db
)
|
Foreigner,извините, но походу дела я ничего в этом не смыслю, как я не пытался крутить ничего не выходит, файл main.db, который находится в папке где и батник никак не хочет копироваться с заменой в нужное место.
|
Gawr33,
Не знаю даже. У меня тестовый файл скопировался-заменился. Тут, на мой взгляд, две возможные преграды: либо не хватает привилегий для записи в корень диска ( системного ), либо main.db занята каким-либо процессом.
Попробуйте заменить copy на xcopy ( ради ключа /r, позволяющего перезаписать readonly файлы ):
Код:
.... xcopy /y /r "%~dp0main.db" %%i:\main.db
|
Спасибо , буду пробовать
Foreigner, извините я сам ошибся в изначальной задаче файл main.db находится не в корне диска, а в папке, возможен ли вариант найти и заменить, очень буду признателен, просто я в этом вопросе полный ноль.
|
Цитата:
в изначальной задаче файл main.db находится не в корне диска, а в папке, возможен ли вариант найти и заменить
|
Можно уточнить? Название папки с main.db известно или ее надо найти?
|
Foreigner, очевидно, что Gawr33 хочет найти и заменить «main.db», находящиеся в профилях пользователей:
Код:
%AppData%\Skype\<login>
а не в корне раздела.
|
Цитата:
Цитата Foreigner
Можно уточнить? Название папки с main.db известно или ее надо найти? »
|
Iska спасибо да именно там, поэтому необходимо найти файл, так как название папки меняется, в зависимости от логина skype
|
Цитата:
Цитата Gawr33
так как название папки меняется, в зависимости от логина skype »
|
Если честно, скайпом не пользуюсь. Если правильно понял, то main.db находится в одной из подпапок %AppData%\Skype\
Код:
@echo off
2>nul taskkill /im skype.exe /f
for /f "tokens=*" %%i in (' dir /b /s /a "%appdata%\skype\main.db" ') do (
xcopy /y /r "%~dp0main.db" "%%i"
)
start "" "%programfiles%\skype\skype.exe"
|
Foreigner, спасибо, заработало все как надо
|
Время: 01:10.
© OSzone.net 2001-