Могу ли я использовать подстановочный знак для каталога со случайным числовым именем?

293
Mr. Mendelli

Я создаю инструмент для редактирования ярлыков для игр в библиотеке Steam, но проблема, с которой я сталкиваюсь, заключается в том, что путь к файлу ярлыков отличается для каждого пользователя. В пути к файлу есть папка пользователей, которая использует то, что я могу только предположить, - это идентификатор пользователя Steam. Вот пример пути:

C:\Program Files\Steam\userdata\%STEAMID%\config\shortcuts.vdf 

Я хотел бы знать, есть ли подстановочный знак или другая переменная, которую я могу использовать в пакетном скрипте, который будет «автоматически определять» или открывать этот путь, так как он будет отличаться для каждого пользователя. Любая помощь с благодарностью.

0
Я также открыт для использования сценария VB, я просто предпочитаю пакетный. Mr. Mendelli 7 лет назад 0

1 ответ на вопрос

2
Pimp Juice IT

Я хотел бы знать, есть ли подстановочный знак или другая переменная, которую я могу использовать в пакетном скрипте, который будет «автоматически определять» или открывать этот путь, так как он будет отличаться для каждого пользователя

Вы можете установить две переменные, одна из которых является первой частью полного пути непосредственно перед точкой, в которой изменяется папка, в которой находится переменная (т.е. C:\Program Files\Steam\userdata), а вторая - второй частью пути сразу после переменной с именем folder (то есть config).

Затем можно использовать два цикла FOR / D, первый из которых ссылается на первую переменную пути части с подстановочным знаком после нее, а второй - для добавления второй части, ссылающейся на переменную пути второй части. Это будет динамически автоматически заполнять переменные с именами папок между первой и второй частями пути, чтобы вы могли перебирать команды соответственно.


Примечание. Сохраните приведенную ниже логику в текстовом документе, но переименуйте его, чтобы дать ему расширение файла .cmdили .bat, а затем дважды щелкните по нему, чтобы запустить.

Пакетный скрипт

@ECHO ON SET SRC1=C:\Program Files\Steam\userdata SET SRC2=config  FOR /D %%X IN ("%SRC1%\*") DO FOR /D %%Y IN ("%%X\%SRC2%\shortcuts.vdf") DO START "" "Notepad++.exe" "%%~Y" ::PAUSE EXIT 

Дополнительные ресурсы

Это сделал это! Чтобы обеспечить согласованность сценариев, я сделал несколько случайных тестовых путей, и сценарий находил и открывал VDF каждый раз. Спасибо за сотрудничество @ McDonald's Mr. Mendelli 7 лет назад 0