Скопировать в папку, зная только часть ее Имени
Всем привет , и снова обращаюсь за помощью гуру,
наподобие я в ветке одну тему нашел , но она не подходит у меня следущая ситуация ЕСТЬ диски M: и С: Необходимо c диска M:\temp\AIMP "вот эту папку AIMP" скопировать во все папки на диске С по заданному пути имя папок всегда будет начинаться sh C:\Documents and Settings\sh***\Application Data если в одной из этих папок она уже есть , то делаем полность замену как я это представляю путь диска M не прописую т.к. deploy.cmd файл лежит в корне M:\temp\ Код:
taskkill /F /T /IM AIMP.exe |
Код:
@Echo Off Извините за наглость, что я влез, хотя я не гуру и никогда им не стану. “Я год не был в бане. Я старый. Меня девушки не любят“ |
Цитата:
вопрос по коду , для чего нам BoxOutEnd ? и если в этом коде в первой строке Set "BoxIn=Z:\temp\AIMP" не прописывать полный путь, чтобы этот код работал не важно где просто получается если в данном случае я допустим имею на диске Z папку temp внутри которой батник + эта подпапка если вдруг корень меняется z:1\temp или m:\temp и т.д. код не работает т.к. жесткая ссылка... Код:
@Echo Off Set "BoxOutEnd=Application Data\AIMP" это скорее всего именно замена т к я по "деревенски " делаю и соглашаюсь на перезапись вот этой командой echo a| xcopy с доп ключами вы сделали это другим способом . я прав!? |
magarjoba, Не понял вопроса.
Вам надо организовать поиск папок C:\Documents and Settings\sh***\Application Data\Aimp Я не знаю, как это сделать: предупреждал ведь, что я не гуру. Поэтому ищу способ. Делю ваш путь на 2 части: C:\Documents and Settings\sh*** - это я могу перебрать командой Dir. Далее по полученному пути я достраиваю вторую часть C:\Documents and Settings\sh_конкретное + \Application Data\Aimp = C:\Documents and Settings\sh_конкретное\Application Data\Aimp Единственное, я поленился уточнить у Вас, обязательно ли в папке sh_конкретное должна существовать подпапка Application Data\Aimp Я наглым образом её создаю, если её нет. Если я не прав - это решаемо. Я предпочитаю, чтобы батник мог запускаться из любого места, поэтому жестко прописываю пути. Если батник в папке рядом с подпапкой AIMP, можно сделать так: Код:
@Echo Off Кстати, не уточнил, что Вы имели ввиду "делаем полностью замену" - может перед копированием надо вычистить всё в папке C:\Documents and Settings\sh_конкретное\Application Data\Aimp если она ранее была? А за перезапись без вопросов отвечает ключ /Y в Xcopy |
чтоб вы понимали правильно
это разливалка профиля аимп на подсеть компов для определенных юзеров т.е. вычищать папку необязательно, а просто копирование папки с полностью заменой содержимого вот смотри скину тебе полностью код как я все проделываю Скрытый текст
Код:
@echo "unistall install program" Я протестил первоначальный код он работает но на рабочий стол какого-то копирует папку AIMP и cwRsync а именно он копирует в C:\Documents and Settings\All Users\Рабочий стол эти папки после чего они появляются и из под админа, т.к. я на нем запускаю cmd-шник |
magarjoba, Не люблю копаться в чужом коде, но, похоже, мой кусок ни в чём не виноват.
От меня ускользает смысл, например, этой строки echo a| xcopy "Музыка.lnk" "C:\Documents and Settings\All Users\Рабочий стол" /s /e Для меня конструкция echo a| совершенно непонятна, но соль не в этом. Цитата:
Что написали, то и получили. Кроме того, ИМХО для копирования просто файлов в текущей папке лучше использовать команду Copy, а не Xcopy. Или в Xcopy не использовать ключи и /S и /E, они в этом случае вредны. В остальные строки не вчитывался. Кстати, и в моих примерах лучше ограничиться одним ключом: или /S или /E в зависимости от необходимости копирования пустых папок. Я оставил /E. |
Цитата:
использую на локальном компе PxExec как видно из скриншота 1 запускаю install**** 2 install копирует файл program** на компы которые я указал в comp.txt 3 на удаленном компе распаковывается скачанный архив temp*** в указанную директорию 4 после чего выполняется сам батник файл музыка.lnk находится как видишь в папке позле того как её разархивировали и так. как я в PxExec через ключ W указал рабочубю папку на удаленных компах то батник понимает что эти файлы лежат в той же папке где он находится echo a| xcopy - я таким образом эмулирую соглашение на замену всех файлов если будут совпадения типо a - это "all" теперь я понял, что ключи именно для него не надо ------------------ подскажи могу ли я как-то замодить твою версию, чтоб этот гребанный ярлык копировался только на рабочий стол в профиля sh*** ? |
magarjoba, Рабочий стол расположен C:\Users\sh*\Desktop\ ???
|
Цитата:
desktop -не катит т.к. кто-то в свое время тупанул и на xp_sp3 вот так сделал образ с русскими путями |
Код:
@Echo Off |
Время: 01:34. |
Время: 01:34.
© OSzone.net 2001-