Я пытаюсь написать скрипт, который будет анализировать каталог, находить 3 новейших файла с заданным расширением среди других файлов с таким же именем, но с другим расширением, а затем передавать результат в программу командной строки.
Пока у меня есть:
$file = dir test -Exclude *.md5 | sort -prop LastWriteTime | select fullname -last 3
\path\program argumentA $file[0] argumentB "argumentC"
\path\program argumentA $file[1] argumentB "argumentC"
\path\program argumentA $file[2] argumentB "argumentC"
Не уверен, что это имеет большое значение, но аргумент2 должен быть в кавычках, чтобы программа могла его использовать. В конечном итоге я либо получу вывод в файл, либо, предпочтительно, использую вывод в другой строке кода, описанной в бонусном вопросе.
Проблема, с которой я столкнулся, заключается в том, что когда я использую $ file [0] в качестве аргумента, ничего не происходит. Когда я использую имя файла, хранящееся в $ file [0], вместо использования переменной, он запускается, но не передает аргумент B или аргументC. Если я запускаю его из cmd, я получаю правильный вывод.
Мои вопросы:
Как заставить программу распознавать переменную?
Как заставить программу распознавать другие аргументы?
Бонусный вопрос:
Программа выведет список файлов. Как мне удалить все в данной папке, кроме файлов, перечисленных в выходных данных программы?