Как выполнить командный файл в альтернативном потоке данных в Windows 7?

5

Обычно после создания исполняемого файла в качестве альтернативного потока данных, например:

type exec_this.bat > C:\blank.txt:exe.bat

можно просто сказать

start C:\blank.txt:exe.bat

запустить исполняемый файл. В Windows 7 все, что мне кажется, это «Доступ запрещен». или «Система не может найти файл $ WHATEVER_THE_FILE_IS.»

Как я могу выполнить этот командный файл?

Джозеф Хансен
источник
Это кажется плохой идеей. Какой у вас вариант использования?
uSlackr

Ответы:

5

Windows 7 молча удалила возможность выполнения чего-либо из ADS. Однако из командной строки DOS есть и другие параметры. Для пакетного файла вы можете выполнить построчно:

for /f "usebackq delims=φ" %i in (blank.txt:exe.bat) do %i

(Имейте в виду, что это на самом деле не выполняет пакетный файл в своем собственном процессе, он просто читает и выполняет каждую строку из файла. φСимвол набирается с альтернативным кодом 2541. Вы хотите, чтобы разделитель был символом, который вы не хотели бы ' никогда не используйте в коде.)

Джозеф Хансен
источник