Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 70
Благодарности: 19

Профиль | Отправить PM | Цитировать


Я бы сделал так:

copy nul "%temp%\hostnames.tmp"
for /F "usebackq delims=" %%s in ("%~dp0hostnames.txt") do (
if not %1==%%s echo %%s>>"%temp%\hostnames.tmp"
)
move "%temp%\hostnames.tmp" "%~dp0hostnames.txt"



Сейчас перечитал предыдущие посты и понял, что неверно сформулировано задание:
"...тут нужно добавить код удаления хоста %1 из файла hostnames.txt..."
Я и добавил. А надо было здесь сделать только формирование нового файла, с тем, чтобы после цикла им заменить старый:

@echo off

:Start
copy nul "%temp%\hostnames.tmp"
for /F "usebackq tokens=*" %%f in (%~dp0hostnames.txt) do CALL :FUNC %%~f
move "%temp%\hostnames.tmp" "%~dp0hostnames.txt"
goto :Start

:FUNC
if exist \\%1\C$\Windows (
md \\%1\C$\TEMP
echo %1 done >> %TEMP%\log.txt

for /F "usebackq delims=" %%s in ("%~dp0hostnames.txt") do (
if not %1==%%s echo %%s>>"%temp%\hostnames.tmp"
)

) else (
goto :eof
)

Последний раз редактировалось Гуллипут, 05-11-2013 в 21:24.


Отправлено: 21:14, 05-11-2013 | #6