2015-03-27 2 views
1

Я пытаюсь автоматизировать процесс, который перемещает GPG-зашифрованный файл с FTP и расшифровывает его с помощью GPG через командную строку.Расшифровка GPG с регулярным выражением

Файл зашифрован со стороны отправителя, а соглашение об именах будет FILENAME_ YYYYMMDD .csv.gpg. Я могу расшифровать конкретный файл, если знаю полное имя, но с момента изменения даты я не уверен, как с этим справиться.

gpg --batch --passphrase EXAMPLE_PASSPHRASE --output "C:\Sender\FILENAME_20150327.csv.gpg.csv" --decrypt "C:\Sender\FILENAME_20150327.csv.gpg" 

Это работает для сегодняшнего файла (FILENAME_20150327.csv.gpg), но когда я попробовать использовать * в качестве шаблона, ала

gpg --batch --passphrase EXAMPLE_PASSPHRASE --output "C:\Sender\FILENAME*.csv.gpg.csv" --decrypt "C:\Sender\FILENAME*.csv.gpg" 

ошибка запрокинутой с «GPG: ручка открытого текста не удалось : Недопустимый аргумент "

Любое понимание было бы принято с благодарностью!

+0

Помните, что это расширение подстановки, а не регулярное выражение. '*' В регулярном выражении имеет другое значение и будет соответствовать строкам типа [...] FILENAMEEEEE.csv.gpg [...] '(с произвольным числом символов' E', но больше ничего не разрешено) , –

ответ

0

GnuPG не выполняет само расширение подстановочных знаков, а командная строка Windows не будет работать, если вы ставите кавычки по пути. Удалите кавычки, поэтому командная строка расширится до полного имени файла.

gpg --batch --passphrase EXAMPLE_PASSPHRASE --output C:\Sender\FILENAME*.csv.gpg.csv --decrypt C:\Sender\FILENAME*.csv.gpg 
+0

Спасибо за ответ. К сожалению, с тем, как был настроен проект, мне нужны кавычки, так как папка Sender на самом деле представляет собой два слова с пробелом - и это не может быть легко изменено сейчас. Я нашел обходное решение. Выйдет мой собственный ответ через минуту. – flamewheel

2

Я нашел обходное решение после прочтения http://parkingandyou.com/2013/02/08/wild-card-work-around-for-gpg-scripting-in-windows/. Вместо того, чтобы пытаться использовать подстановочный шаблон непосредственно в скрипте, я вместо этого задал его как переменную и передал ее в команду.

Это не самое элегантное решение, но оно выполняет свою работу. FILENAME_YYYYMMDD.csv.gpg заканчивается расшифровкой как FILENAME_YYYYMMDD.csv.gpg.csv, если требуется.

Смежные вопросы