2014-12-12 3 views
1

Я запускаю следующую команду из cmd.exe с использованием командного файла.Сохранение вывода командных команд (forfiles) в переменную

forfiles /p C:\Users\subhamt\Downloads /m embeddedsection.zip /c "cmd /c echo @fsize" 

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

set var=forfiles /p C:\Users\subhamt\Downloads /m embeddedsection.zip /c "cmd /c echo @fsize" 

, но когда я делаю на эхо на var, то он дает мне вышеупомянутое commadnd как результат. кто-то может указать, что я делаю неправильно.

Я просмотрел следующие ссылки и еще несколько, но они не решили проблему, которую я имею под рукой.

Can I store the output of a command in a variable in batch scripting?

passing variables with forfiles command

+1

Переменная окружения может хранить только одно значение, если вы не разрешаете разделители. Попробуйте сказать, что вы хотите сделать, а не как вы хотите это сделать. Если все, что вам нужно, это размер файла для набора файлов, есть более простые способы. – Magoo

+0

ОК, я в основном хочу найти размер файла. @Magoo –

ответ

3
for %%a in (C:\Users\subhamt\Downloads\embeddedsection.zip) do set var=%%~za 

должен возвращать размер файла C:\Users\subhamt\Downloads\embeddedsection.zip для вас в var

(это партия линии. Если выполнение непосредственно из командной строки, уменьшить каждый %% к %)

0

Возможный золь

for /f %%i in ('forfiles /p C:\Users\subhamt\Downloads /m embeddedsection.zip /c "cmd /c echo @fsize"') do set FILE_SIZE_WINDOWS=%%i 
+1

Это должно сработать - это просто сложный способ сделать что-то простое. – Magoo

+0

согласился! @Magoo –

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