Имя пользователя:
Пароль:
 

Название темы: Удаление дубликатов.
Показать сообщение отдельно

Ветеран


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

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


Цитата evgon:
На долю секунды появляется окошко, но файл 1.txt остается неизменным. »
Естественно. Вывод ведь идёт на консоль. Если бы Вы осуществляли запуск из-под командного процессора или из-под Far Manager'а (а не из Проводника или Total Commander'а и иже с ним) — Вы бы увидели этот результат.

Для вывода результата в тот же файл сделайте вывод во временный файл, а затем скопируйте его поверх исходного, например:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFile="c:\1.txt"

call :GetTemporaryName

>"%TemporaryName%" ("C:\Program Files\GnuWin32\bin\sort.exe" "%sSourceFile%" | "C:\Program Files\GnuWin32\bin\uniq.exe")
copy /y "%TemporaryName%" "%sSourceFile%"
del /f /q "%TemporaryName%"

endlocal
exit /b 0
rem ==========================================================================

rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
	setlocal enableextensions enabledelayedexpansion

:NextName
	set sTempName=%temp%\temp%random%.tmp

	if exist "%sTempName%" goto :NextName

	set sProcName=%~0

	endlocal & set %sProcName:~4%=%sTempName%
	exit /b 0
rem ==========================================================================
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:05, 18-09-2014 | #10

Название темы: Удаление дубликатов.