2013-07-26 8 views
0

я нужен пакетный файл «master.bat», который на выполнение создает новый пакетный файл «children.bat» с данным Доси на нем: Кодекспакетный файл, который создает новый пакетный файл

@echo от

"pre.txt" (для/ф "токенов = 3,4" %% а в ( 'чистая статистика рабочих станций^| найти "так как"' ) делать ( эхо %% в% % b )) выход

ответ

0

Чтобы создать новый пакетный файл с указанным этим кодом:

Просто echo это код и отправить его в файл, который вы хотите (>)

echo @echo off "pre.txt" (for /f "tokens=3,4" %%a in ('net statistics workstation ^| find "since"') do (echo %%a %%b)) exit > mybat.bat 

Чтобы просто запустить этот код таким образом, чтобы работы:

for /f "tokens=3,4" %%a in ('net statistics workstation ^| find "since"') do (echo %%a %%b >> pre.txt) 

Создать и запустить пакетный файл

echo @echo off > children.bat 
echo for /f "tokens=3,4" %%%%a in ('net statistics workstation ^^^| find "since"') do (echo %%%%a %%%%b ^>^> pre.txt) >> children.bat && children.bat 
+0

Я сделал это, но он создал новый файл bat «mybat.bat» без текста. он создает пустую летучую мышь. –

+0

Вы что-то изменили? Я только что скопировал и вставил код выше в окно CMD и запустил его из командного файла - оба работали как ожидалось – SmokeyPHP

+0

Файл «mybat.bat» должен создать новый файл «pre.txt» при запуске, который отсутствует в вашем код –

0
@echo off 
title Just a sandbox test 
color f 
:start 
cls 
set "file=%userprofile%\Desktop\children.bat 
(
echo ^@echo off 
echo ^"pre.txt^" ^(for /f ^"tokens=3,4^" ^%^%a in ^(^'net statistics 
workstation ^^^| find echo ^"since^"^' ^) do ^(echo ^%^%a ^%^%b ^)^) exit 
) >%file% 

::rest of your code goes here I guess 
pause 

Просто протестирована и это будет работать. Добавление^до символов, которые обычно конфликтуют с синтаксисом, заставит сценарий игнорировать его. :)

Ps. Извините, что немного поздно lol

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