Я знаю, что название не имеет смысла, так что я постараюсь подробно:Заменить файл в «изменение» каталог
У меня есть программа под названием My App.exe и когда я запускаю его, он создает файл в папке в AppData. Имя создаваемой папки изменяется для каждой машины. Пример:
Когда мой App.exe запускается на одном компьютере, он создает этот файл:
% LocalAppData% \ Kazankoph \ My_App.exe_Url_3p43oix65iqigwb4lndfi4m34sf1xjg3 \ 1.2.0.0 \ settings.dat
Когда его запустить на другом компьютере, он создает этот файл:
% LocalAppData% \ Kazankoph \ My_App.exe_Url_6f47ntd26lwubpr3hunvt2m67sf1xtq2 \ 1.2.0.0 \ settings.dat
только вещи, которые остаются теми же, являются родительская папка «Kazankoph», папка ребенка «1.2.0.0» и имя файла settings.dat
кажется, что текст, который приходит после того, как «My_App .exe_Url_»всегда имеет длину 32 символов, и генерируется случайным образом
Так моя дилемма:
Мне нужно создать команду (с помощью CMD, партии или SciTE скрипт), который будет принимать обновленный файл и settings.dat перезаписать старый.
Я использовал XCOPY с переключателем Y перезапись без подсказки:
XCOPY settings.dat "% LocalAppData% \ Kazankoph \ My_App.exe_Url_6f47ntd26lwubpr3hunvt2m67sf1xtq2 \ 1.2.0.0"/у
Но проблема с этим кодом заключается в том, что он работает только для одного компьютера.
Я хочу код, который будет работать на любом компьютере, независимо от 32-символьного кода.
что-то вроде этого:
XCOPY settings.dat "% LocalAppData% \ Kazankoph \ My_App.exe_Url_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ 1.2.0.0"/у
Конечно, это один Безразлично» t, но вы получите эту идею.
У кого-нибудь есть предложения?
Работает так, как вы сказали. Есть ли способ вернуть результат обратно в команду? например: XCOPY settings.dat "OUTPUT"/y – Kazankoph
См. мой отредактированный ответ. Вместо xcopy я использовал копию. – foxidrive
Так просто, но эффективно. – Kazankoph