Что ж ... Я стараюсь как можно меньше играть в пакетном режиме, и я в основном человек C / C # / C ++. Моя проблема в том, что мой сценарий выполняет два вложенных цикла FOR, где я сначала запускаю папку «Users» и зацепляю имена пользователей, а затем через другие папки:
set BaseDir=%CD%
cd C:\Users
for /F %%I in ('DIR *.* /B /O:-D') do (
set UserName=%%I
echo %UserName%
)
cd %BaseDir%
Это примерно демонстрирует проблему. Может быть, это мое форматирование в стиле C ++? Может быть, я тупой, когда дело доходит до партии? Предполагая, что в моей системе 3 пользователя (Admin, User1, User2; в таком порядке), будет напечатано:
Admin
Admin
Admin
Totes неправильно. Если бы вы вызвали echo на %% I, все бы пошло по плану:
Admin
User1
User2
Я что-то упускаю здесь, что касается переменных, или в чем дело? DOS не любит переназначение переменных?
Спасибо заранее. (спецификации: Windows 7, блокнот, cmd от имени администратора)