| imho.ws | 
![]()  | 
	
		 
 
 | 
| 
			
			 | 
		# 1 | ||
| 
			
			 ::VIP:: 
			
			
			
				
			
			Регистрация: 30.04.2002 
				Адрес: Israel 
				
				Пол: Male
				
					Сообщения: 7 090
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
				
				BAT File для переименования файлов
			 
			
			
			Есть 250 файлов , надо файлик bat чтоб переименовал окончания Jpg в rar 
		
		
		
		
		
		
			 :xex:
 
				__________________ 
		
		
		
		
	Дорогие оптимист, пессимист и реалист. Пока вы спорили о стакане с водой. Я его выпил. Опортюнист. 
			 | 
||
| 
		 | 
	
	
| 
			
			 | 
		# 2 | 
| 
			
			 ::VIP:: 
			
			
			
				
			
			Регистрация: 02.12.2001 
				Адрес: Hohland 
				
				
				
					Сообщения: 2 260
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
		
		 
			
			Если интересует только конкретный случай то просто: 
		
		
		
		
		
		
			ren *.jpg *.rar Если все же интересно как по другому: for %f in (*.jpg) do ren %f *.rar (если вызывать НЕ из батника, а из коммандной строки то надо писать %%f) P.S. Нет, наоборот. %%f это когда из батника. 
				__________________ 
		
		
		
		
		
			sapienti sat. Последний раз редактировалось denver; 03.12.2004 в 15:48.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 4 | 
| 
			
			 ::VIP:: 
			
			
			
				
			
			Регистрация: 02.12.2001 
				Адрес: Hohland 
				
				
				
					Сообщения: 2 260
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
		
		 
			
			Isalex  
		
		
		
		
		
		
			Если у тебя ХР то найди на диске с виндой файл ntcmds.chm там все в принципе + расширенные комманды для ХР (могу его русский тебе заслать если надо). А вообще все эти комманды тянутся еще из MS DOS и таких книжек в инете уже практически нет. Вот здесь нашел далеко не полный список комманд. А вообще описание любой комманды можно посмотреть в коммандной строке запустив: комманда /? 
				__________________ 
		
		
		
		
	sapienti sat.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 5 | 
| 
			
			 ::VIP:: 
			
			
			
				
			
			Регистрация: 29.09.2002 
				Адрес: Очень далеко 
				
				
				
					Сообщения: 403
				 
				
				![]()  | 
	
	
	
		
		
		
		 
			
			Спасибо, но меня в принципе интересуют не столько сами команды, сколько обозначеня переменных и разных ключей, как например - %f ,  %1 , %PATH%. 
		
		
		
		
		
		
			В принципе, все на интуйтивном уровне понимается, но хотельсь бы иметь более подробное описание этих вещей. 
				__________________ 
		
		
		
		
	Меняю проигрыватель на выигрыватель.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 6 | 
| 
			
			 ::VIP:: 
			
			
			
				
			
			Регистрация: 02.12.2001 
				Адрес: Hohland 
				
				
				
					Сообщения: 2 260
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
		
		 
			
			Isalex  
		
		
		
		
		
		
			К сожалению литературы конкретно по переменным среды имхо нигде нет. Кроме как в мануалах по всем коммандам. Потому что имхо это можно описать всего на двух страницах если уже совсем подробно расжевывать. Вкратце: %1, %2, ... это переменные содержащие параметры запуска батника (параметры следуют в коммандной строке за батником, разделяются пробелами и могут быть чем угодно, числом, именем файла и т.д.) %temp%, %windir% ... - переменные среды которые задаются в autoexec.bat (или еще где) коммандой set %windir%="c:\windwos\" %f, %b, %a - все остальные неиспользуемые "регистры" используются в бат файлах или просто из коммандной строки с коммандой for errorlevel - обычно программы (либо батники если в них есть комманды set errorlevel=0) возвращают 0 в случае удачного завершения и другое число если нет. Для проверки короче, например: scandisk c: /f if errorlevel==1 goto error scandisk d:/f if errorlevel==1 goto error goto exit :error echo Произошла ошибка, fuck off :exit 
				__________________ 
		
		
		
		
		
			sapienti sat. Последний раз редактировалось denver; 05.02.2003 в 07:45.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 9 | 
| 
			
			 Administrator 
			
			
			
				
			
			Регистрация: 13.05.2002 
				
				
				
				
					Сообщения: 11 227
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
		
		 
			
			Da. Glawnoe ubrat iz sistemi draiwer krivie_ruchki.sys ;-))).
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Осколки прошлого, как снег, закрутит ураган времён, В ушедший день для нас навек, обрушив мост, Оставив в наших душах след, тьма уплывёт за горизонт, И в чистом небе вспыхнет свет, свет новых звёзд.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 10 | ||
| 
			
			 Member 
			
			
			
				
			
			Регистрация: 18.10.2002 
				Адрес: 50°53’ с.ш. 42°51’ в.д. 
				
				Пол: Male
				
					Сообщения: 353
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 Цитата: 
	
 for %f in (*.jpg) do ren "%f" *.rar (кавычки добавлены для того, чтобы обрабатывались файлы, имена которых содержат пробелы) Цитата: 
	
 for %%f in (*.jpg) do ren "%%f" *.rar А если надо не переименовать все jpg в rar, а сжать каждый jpg в свой rar (что логичнее), то команда принимает вид: for %%f in (*.jpg) do rar a "%%f.rar" "%%f" 
				__________________ 
		
		
		
		
	LisT [#ls -AcFlt --color=never --full-time]  | 
||
| 
		 | 
	
	
| 
			
			 | 
		# 11 | 
| 
			
			 Guest 
			
			
			
			
					Сообщения: n/a
				 
				
				 | 
	
	
	
		
		
		
		 
			
			Великий скрипт великого Ларри Волла (Larry Wall). 
		
		
		
		
		
		
		
	Код: 
	eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
    & eval 'exec perl -S $0 $argv:q'
    if 0;
$0 =~ s#.*/([^/]+)$#$1#;
if (@ARGV < 2)
{
    print "Usage:\n\t$0 <perl_expression> <files...>\n\n";
    print "Examples:\n";
    print "\t$0 's/\.orig\$//' *.orig\n";
    print "\t$0 'y/A-Z/a-z/ unless /^Make/' *\n";
    print "\t$0 '\$_ .= \".bad\"' *.f\n";
    print "\t$0 'print \"\$_: \"; s/foo/bar/ if <stdin> =~ /^y/i' *\n";
    exit;
}
$op = shift;
for (@ARGV)
{
    $was = $_;
    eval $op;
    die $@ if $@;
    rename($was,$_) unless $was eq $_;
}
 | 
| 
			
			 | 
		# 14 | 
| 
			
			 Newbie 
			
			
			
				
			
			Регистрация: 22.07.2004 
				Адрес: Брест 
				
				
				
					Сообщения: 26
				 
				
				![]()  | 
	
	
	
		
		
		
		 
			
			Кстати, для тех, кто не знает. И в Win2k, и в WinXP есть команда "help". 
		
		
		
		
		
		
			А если нужен help по конкретной команде, например, "set", то нужно вызвать "help set". Ну оччень подробно все расписано. А в русской винде даже по-русски.  
		
				__________________ 
		
		
		
		
	Spel chekers, hoo neeeds em?  
			 | 
| 
		 | 
	
	
| 
			
			 | 
		# 17 | 
| 
			
			 Junior Member 
			
			
			
				
			
			Регистрация: 23.09.2004 
				
				
				
				
					Сообщения: 105
				 
				
				![]()  | 
	
	
	
		
		
			
			 
			
			Шото не работает команда exist (проверяет наличие файлов) в w2k   
		
		
		
		
		
		
			  , шо делать не пойму ???, сам батник 100% рабочий (под 98 виндой правда)
		
				__________________ 
		
		
		
		
		
			...мысли думают нас Последний раз редактировалось i1doc; 03.12.2004 в 15:11.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 19 | 
| 
			
			 Junior Member 
			
			
			
				
			
			Регистрация: 23.09.2004 
				
				
				
				
					Сообщения: 105
				 
				
				![]()  | 
	
	
	
		
		
			
			 
				
				спасибо шо обяснили убогому :)
			 
			
			
			строка такая  
		
		
		
		
		
		
			if exist E:\путь\*.* h:\папка\програмка.exe весь фикус в том что по барабану, есть файлы, или нет - програмка запускается ![]() ------------------------------- В прцессе разборов выяснилось то если вместо E:\путь\*.* прописать E:\путь\*.txt- то все работает   вариант E:\путь\*.??? - тож не работает, как же маску задать млин - файлы то все нужно ловить.
		
				__________________ 
		
		
		
		
		
			...мысли думают нас Последний раз редактировалось i1doc; 03.12.2004 в 18:08.  | 
| 
		 | 
	
	
| 
			
			 | 
		# 20 | 
| 
			
			 ::VIP:: 
			
			
			
				
			
			Регистрация: 02.12.2001 
				Адрес: Hohland 
				
				
				
					Сообщения: 2 260
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
		
		 
			
			i1doc 
		
		
		
		
		
		
			Приведи строку точнее, что вызываешь. Только не по памяти, а именно то что не работает. Мало ли. Если это в батнике то строку из батника плиз, лучше весь. ------------------------------------------------- Ха! Догнал. Под *.* попадают также каталоги, включая . и .. (т.е. текущий каталог и родительский). Ну вобщем if exist *.* сработает даже в пустом каталоге. Как решить ща подумаю... ------------------------------------------------- Хм.. может и не самое лакоичное решение но работает (во всяком случае это уже во всех версиях винды должно). Пример батника: Код: 
	@echo off for %%f in (%1\*.*) do goto dosomething exit :dosomething echo В каталоге "%1" содержится как минимум один файл 
				__________________ 
		
		
		
		
	sapienti sat.  | 
| 
		 |