Мне недавно пришлось перейти с пользовательского интерфейса Linux на Windows, чтобы выполнить некоторые анализы для моей научной работы.
Я запускаю программу под названием Blast в Linux и использую ее для запуска нескольких файлов одновременно.
Команда, которую я использую в Linux, такова:
для f в * .log; do blastn -query $ f -db dbname -out $ f.out -outfmt 6
-значение 0,000001 и готово
После чего программа примет все файлы с * .log, запустит команду, затем создаст выходные файлы с именем * .out
Однако у меня 0 идей о том, как преобразовать это в команду Powershell.
В настоящее время я запускаю его один за другим, но у меня есть сотни файлов.
Это базовая команда в Powershell.
blastn.exe -query. \ Filename_log -db .. \ dbname -out filename.out -outfmt 6 -значение 0.00001
Я обдумываю следующее, но оно не работает, потому что я до сих пор горю не уверен, как заставить его что-то делать. = ____ = * * тысячу двадцать-один
Get-ChildItem "C: \ pathway \ Genomes \" -Filter * .log | Foreach-Object {
$ content = Get-Content $ _. FullName
$content | Where-Object {$_ -do blastn.exe -query .\filename_log -db ..\dbname -out filename.out -outfmt 6 -evalue 0.00001'} | Set-Content ($_.BaseName + '.out') }
Если создание такой команды невозможно, возможно ли создать сценарий для этого?