Я пытаюсь написать сценарий, который будет анализировать каталог, найти 3 новых файла данного расширения среди других файлов с тем же именем, но с другим расширением, а затем передать вывод команде лайн.Передача agruments в другую программу в Powershell
До сих пор у меня есть:
$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"
Не уверен, если это имеет значение всего много, но argument2 должен быть в кавычках для программы, чтобы использовать его. В конце концов, я либо выведу запись в файл, либо, предпочтительно, использую вывод в другой строке кода, описанной в вопросе бонуса.
Проблема, с которой я столкнулась, заключается в том, что когда я использую $ file [0] в качестве аргумента, ничего не происходит. Когда я использую имя файла, хранящееся в $ file [0] вместо использования переменной, он запускается, но не передает аргумент B или argumentC. Если я запустил его из cmd, я получаю правильный вывод.
Мои вопросы: Как получить программу для распознавания переменной? Как заставить программу распознавать другие аргументы?
Бонус вопрос: Программа выведет список файлов. Как удалить все данные в данной папке, кроме файлов, перечисленных в выводе программы?
Я не понимаю, что вы имеете в виду, «чтобы пройти только одну строку за раз». Вы вызываете программу три раза с 4 аргументами за вызов. Можете ли вы уточнить, что вы хотите сделать? –
Что вы получаете, когда получаете доступ к $ file [0] .FullName'? –
'$ file [0] .fullname' и' $ file [0] 'одинаковы:' C: \ file.txt' – Philosophene