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

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

Ветеран


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

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


Цитата qqwwaass:
т.е. поместил в нужную папку и запустил от туда пакетный файл, »
Стало быть не «папка из которой запускается батник», а папка, в которой находится пакетный файл. Побочным эффектом такого некорректного использования будет появление в списке имени самого пакетного файла.
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

>nul chcp 1251

set "sPath=%~dp0"
set "sFileName=list_musuc_%DATE%.txt"
>"%sPath%%sFileName%" dir /b "%sPath%"

>nul chcp 866

endlocal
exit /b 0
И никогда, никогда не используйте всуе не по назначению переменную окружения «PATH»!


Правильным же использованием считается «мухи отдельно, котлеты отдельно» — пакетный файл лежит в одном месте, работает везде, где потребно. Вместо того, чтобы плодить его копии где ни попадя, держите пакетный файл в одном месте и перетаскивайте на него искомую папку. Такой пакетный файл может выглядеть, например, следующим образом:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=%~1

if defined sSourceFolder (
	>nul chcp 1251
	>"%sSourceFolder%\list_musuc_%DATE%.txt" (
		for /f "usebackq delims=" %%i in (
			`dir /b "%sSourceFolder%"`
		) do if "%%~i" neq "list_musuc_%DATE%.txt" echo %%~i
	)
	>nul chcp 866
) else (
	echo Usage: %~nx0 ^<Source folder^>
	exit /b 1
)

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:04, 13-02-2014 | #6