Это может быть немного поздно, но это делает это:
set "case1=operation1"
set "case2=operation2"
set "case3=operation3"
setlocal EnableDelayedExpansion
!%switch%!
endlocal
% switch% заменяется перед выполнением строки. Серьезные недостатки:
Может в конечном итоге быть полезным в некоторых случаях.
Вероятно, вам следует начать с модуля struct , как вы указали в своем вопросе, и, конечно же, открыть файл как двоичный.
В основном вы просто начать с начала файла и разбирать его по частям. Это хлопотно, но не большая проблема. Если файлы сжаты или зашифрованы, все может усложниться. Будет полезно, если вы начнете с файла, содержание которого вам известно, чтобы не гадать все время.
Попробуйте немного, и, возможно, у вас возникнут более конкретные вопросы.
Если вы хотите создавать и анализировать двоичные файлы, модуль структуры предоставит вам основные инструменты, но он не очень удобен, особенно если вы хотите посмотреть на вещи, которые не являются целое число байтов.
Есть несколько модулей, которые могут помочь, например BitVector , битовый массив и битовая строка . (Я предпочитаю битовую строку , но я написал ее и поэтому могу быть предвзятым).
Для анализа двоичных форматов очень хорош модуль hachoir , но я подозреваю, что он слишком высокоуровневый для ваших текущих нужд.
Чтобы научиться пользоваться инструментами Python, работающими с двоичными файлами, это поможет вам . Тоже весело. Упражнения с двоичными файлами, zip-файлами, изображениями ... и многое другое.