Запуск всех файлов в каталоге через командный файл с добавленным текстом на каждой строке

Я хотел бы создать пакетный файл, который

A) Считывает все файлы в текущем каталоге

B) Записывает все файлы в текущем каталоге в другой пакетный файл

C) Добавляет текст в каждую строку (я хочу добавить «/ Z/U» (для тихих и norestart соответственно)

Что я до сих пор:

СКАЧАТЬ ФАЙЛ

@echo on

@setlocal enableextensions
@cd /d "%~dp0"

dir /b > installALLTHETHINGS.bat

echo /Z /U >> installALLTHETHINGS.bat

The ВЫВОД of the СКАЧАТЬ ФАЙЛ is here:

ВЫВОД

exe1.exe
bat1.bat
installme.msi
bat2.bat
bat3.bat
file list.bat
/Z /U 

Я уверен, что могу понять, как получить «/ Z/U» на этой последней строке, не создавая новую строку, но есть ли способ записать «/ Z/U» после каждого файла в каталоге?

0
nl ja de

1 ответы

Я не могу понять, почему вы хотите это сделать, но это просто сделать с помощью цикла FOR.

@echo off
cd /d "%~dp0"
>installAllTheThings.bat (
  for %%F in (*) do if "%%F" neq "installAllTheThings.bat" if "%%F" neq "%~nx0" echo "%%F" /Z /U
)
0
добавлено
@ user2029748 - Ухх, я не знаю, где был мой разум, когда я написал этот ответ. Я просто исправил 3 ошибки. Повторите попытку с измененным кодом - теперь он должен работать.
добавлено автор dbenham, источник
@ user2029748 - 1-й IF предотвращает включение installAllTheThings.bat. Второй IF предотвращает включение «runme.bat».
добавлено автор dbenham, источник
Спасибо за ответ dbenham! Когда я запускаю это, он, похоже, не делает ничего к сожалению - я пробовал с и без ранее существовавшего «installAllTheThings.bat» - я попытаюсь устранить некоторые проблемы, но/z/u не появляется после каждой строки кода :( Это говорит, что это ново для меня, и я обновлю это, если я смогу заставить его работать. О, и причина, по которой я хочу это сделать, - установить патчи в партиях по мере их выхода - У меня нет возможности автоматически устанавливать их.
добавлено автор Enterprise User, источник
Я не могу сказать, спасибо вам. Работает как очарование ... спасибо!
добавлено автор Enterprise User, источник
Я понимаю, что это не требуется, но есть ли способ объяснить мне, почему, если я называю этот файл runme.bat и выполняю его, он не забирает имя файла runme.bat в файле installAllTheThings.bat? Это хорошо, я просто не вижу в коде, где это происходит. Благодаря!
добавлено автор Enterprise User, источник
Про Windows
Про Windows
941 участник(ов)

Microsoft Windows и всё, что с этим связано. Список интересных групп и каналов: https://github.com/goq/telegram-list

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot