Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Vintex
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 23
1

Копирование определённых файлов из папки, в которой находится сам копирующий bat-файл, в папку игры "Steam"

13.04.2013, 05:28. Просмотров 1661. Ответов 5
Метки нет (Все метки)

Здравствуйте, пишу скрипт который должен скопировать из текущей папки(где сам скрипт) в папку в которой может меняться название и буква диска, то есть например. "X:\..\..\SteamApps\common\DiRT 3", была идея с поиском каталога и записью в txt, и из txt брать путь, но думаю можно сделать попроще, прошу помочь.

Добавлено через 2 часа 18 минут
или подскажите как отсортировать список в txt, а то написал такой код: dir/s/b/ad "\*DiRT 3"|findstr/ie "\\DiRT 3">file.txt. и есть пару проблемок 1. сохраняет пути только с того диска с которого запущено. 2. появляется большой список, а вот как из него удалить все кроме нужной строчки пока не пойму.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 05:28
Ответы с готовыми решениями:

Копирование TXT-файлов из одной папки и BMP-файлов из другой папки в папку, в которой находится пакетный файл
Доброго времени суток. У кого есть возможность сообразить какой код мне нужет чтобы сделать вот...

Копирование файла из директории, в которой находится сам копирующий батник
У меня такая проблема: Мне нужно чтобы мой батник копировал файл из текущей директории (Без...

Запаролить папку, в которой находится bat-файл
Здравствуйте кодеры, мне нужен вот такой ВАТ-файл: надо что-бы в папке которой находится ВАТ, на...

Копирование файла, находящегося в одной папке с BAT-файлом, в папку, в которой будет найден одноимённый файл
Всем привет, помогите пожалуйста написать BAT файл, нужно чтобы делал следующее: Копировал файл...

Копирование файлов в папку "А", не указывая её
Доброго времени суток! Задачка: 1. Имеется > 25 пользователей на одном ПК. И все пользуются одним...

5
Dragokas
Эксперт WindowsАвтор FAQ
17065 / 7120 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
13.04.2013, 16:30 2
Цитата Сообщение от Vintex Посмотреть сообщение
скопировать из текущей папки
Bash
1
copy "%~dp0Somefile" "X:\..\..\SteamApps\common\DiRT 3\*"
Цитата Сообщение от Vintex Посмотреть сообщение
Bash
1
dir/s/b/ad "\*DiRT 3"|findstr/ie "\\DiRT 3">file.txt
Можно, но не нужно.
Думаю, это неправильный ход мыслей с точки зрения эффективности решения.
Любая корректно установленная игра хранит путь установки в реестре по четко определенной ветке.
Остается вопрос пройтись вручную поиском по реестру и найти в какой ветке.
Для игр под управлением Steam это не должно быть проблемой.
Regedt32 -> Правка -> Найти. Дальше Ваш ход. Сейчас под рукой нет установленных игр Steam.
0
Vintex
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 23
13.04.2013, 20:16  [ТС] 3
Цитата Сообщение от Dragokas Посмотреть сообщение
Любая корректно установленная игра хранит путь установки в реестре по четко определенной ветке.
Остается вопрос пройтись вручную поиском по реестру и найти в какой ветке.
Для игр под управлением Steam это не должно быть проблемой.
Regedt32 -> Правка -> Найти. Дальше Ваш ход. Сейчас под рукой нет установленных игр Steam.
а каким образом можно прочесть путь из реестра в cmd?

Код
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 44320]
"DisplayIcon"="C:\\Program Files (x86)\\Steam\\steam\\games\\DiRT 3.ico"
"DisplayName"="DiRT 3"
"HelpLink"="http://support.steampowered.com/"
"InstallLocation"="D:\\Games\\Install\\Steam\\steamapps\\common\\DiRT 3"
0
Dragokas
Эксперт WindowsАвтор FAQ
17065 / 7120 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
13.04.2013, 20:30 4
Через reg.exe
По идее эта ветка подходит, т.к. App ID в Steam-е для каждого приложения свой, если не изменяет память.

Bash
1
2
3
4
5
6
@echo off
Set key="HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 44320"
Set val="InstallLocation"
 
For /f "tokens=2*" %%a In ('Reg Query %key% /v %val%^|Find %val%') Do Set DIRT=%%b
Set DIRT=%DIRT:\\=\%
В %DIRT% будет нужный Вам путь.
1
Vintex
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 23
13.04.2013, 20:57  [ТС] 5
Цитата Сообщение от Dragokas Посмотреть сообщение
Через reg.exe
По идее эта ветка подходит, т.к. App ID в Steam-е для каждого приложения свой, если не изменяет память.

Bash
1
2
3
4
5
6
@echo off
Set key="HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 44320"
Set val="InstallLocation"
 
For /f "tokens=2*" %%a In ('Reg Query %key% /v %val%^|Find %val%') Do Set DIRT=%%b
Set DIRT=%DIRT:\\=\%
В %DIRT% будет нужный Вам путь.
Спасибо, вроде бы получилось только я вот не понял для чего нужна эта строчка
Bash
1
Set DIRT=%DIRT:\\=\%
я сделал без нее. вот так:
Bash
1
2
3
4
5
Set key="HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 44320"
Set val="InstallLocation"
 
For /f "tokens=2*" %%a In ('Reg Query %key% /v %val%^|Find %val%') Do Set DIRT=%%b
copy /y "*.GOTY" "%DIRT%"
0
Dragokas
Эксперт WindowsАвтор FAQ
17065 / 7120 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
13.04.2013, 20:59 6
Чтобы заменить двойные \\ на одиночные.

В CMD будет работать и без этого.
Заменил для приличия.
0
13.04.2013, 20:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 20:59

Копирование TXT-файлов из одной папки и BMP-файлов из другой папки в папку, в которой находится пакетный файл
Доброго времени суток. У кого есть возможность сообразить какой код мне нужет чтобы сделать вот...

Копирование файлов и диалог выбора папки с кнопкой "Создать папку"
Задача довольно популярная, но на просторах интернета лежат примеры для старых версий Builder,...

Создать на диске "С" папку, и скопировать в эту папку файл с диска "С" (TASM)
Создать на диске С:\ папку и скопировать в эту папку файл из диска С:\. Имена файла и папки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru