Проблема, похоже, исходит из строки
File.Copy("meme.mp4", copyPath, true);
Ваша программа будет проверять только текущий рабочий каталог на наличие файла meme.mp4
.Вам нужно либо убедиться, что рабочий каталог установлен в папку вашего исполняемого файла в пакетном файле, либо использовать абсолютный путь к файлу, который вы пытаетесь прочитать.
private void mainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
Random rand = new Random();
for (int i = 0; i < 3; i++)
{
var copyPath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
"meme" + rand.Next() + ".mp4");
var sourceDir = Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().Location);
File.Copy(Path.Combine(sourceDir, "meme.mp4"), copyPath, true);
}
e.Cancel = true;
new MainWindow(0).Show();
}
Я также обновил ваш пример, чтобы использоватьEnvironment.GetFolderPath
вместо чтения переменной USERPROFILE
env.