Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: KapralBel
Дата сообщения: 27.03.2006 15:24
ozioso

Код:
@Echo Off
Del Temp.txt /q
For /R C:\Dir %%a in (*.*) Do Echo %%~nxa >>Temp.txt
Type Temp.txt | sort >FileSort.lst
Автор: ozioso
Дата сообщения: 27.03.2006 15:37
KapralBel
Спасибо, НО...

Кириллица отображается иероглифами...

Можно как-то изменить дос-кодировку?

В конец файла дописал: del temp.txt /q.

Хотелось бы, чтобы путь был относительным, делался листинг текущей директории.
Автор: KapralBel
Дата сообщения: 27.03.2006 15:47
ozioso

Код:
@Echo Off
CHCP 1251
Del Temp.txt /q
For /R . %%a in (*.*) Do Echo %%~nxa >>Temp.txt
Type Temp.txt | sort >FileSort.lst
Del Temp.txt /q
Автор: ozioso
Дата сообщения: 27.03.2006 15:51
KapralBel
Спасибо! Супер! А есть возможность сначала латиницу вывести?
Автор: KapralBel
Дата сообщения: 27.03.2006 15:59
ozioso
Вот с этим кажеться проблемы
Автор: ozioso
Дата сообщения: 27.03.2006 16:10
KapralBel
Не критично. Получил больше, чем рассчитывал.
Автор: Yuk
Дата сообщения: 27.03.2006 20:13
ozioso
KapralBel
Не показывается относительный путь.
В принципе вот простое решение, но выводится абсолютный путь:

Код: dir /b /s /on *.* >temp.txt
Автор: KapralBel
Дата сообщения: 28.03.2006 07:44
Yuk
В задании было сказано список файлов, а не список файлов с полными путями
Вот из этого и писался батник
Автор: monsoon
Дата сообщения: 28.03.2006 08:21
Yuk
в результат попадают и имена каталогов.
*.* - ни на что не влияет

ALL

Код: For /R C:\TMP %%a IN (*.*) DO @Echo %%~a %%~za %%~ta>>Temp.txt
For /D /R C:\TMP %%a IN (*.*) DO @Echo %%~a %%~za %%~ta>>Temp.txt
Автор: Yuk
Дата сообщения: 28.03.2006 18:15
KapralBel

Цитата:
Хотелось бы, чтобы путь был относительным, делался листинг текущей директории.

Извиняюсь, если не правильно понял.

monsoon

Цитата:
в результат попадают и имена каталогов.

без каталогов:

Код: dir /b /s /on /a-d >temp.txt
Автор: Serge2005
Дата сообщения: 29.03.2006 21:08
Скажите, пожалуйста, как написать срипт для создания в ПУСК->Все программы->Program01->File01.lnk, File2.lnk, File3.lnk?
Автор: jak_forest
Дата сообщения: 30.03.2006 07:56
Serge2005
копировать ярлыки откуда-то?
Автор: KapralBel
Дата сообщения: 30.03.2006 08:27
Serge2005
На VBS пожалуйста, а вот на .cmd - нет там таких возможностей...
А зачем это тебе надо, может найдем обходные пути....
Автор: INTERESANT
Дата сообщения: 30.03.2006 09:08
банальная вещь... но не помню... -как и где? (не в autoexec.bat ли?) прописать в 98ом пути к множетву папок и подпапок??? формат в одну строку типа PATH=С:\;C:\Windows; и т.д. - обязателен? или можно несколько строк начинающихся с PATH ?

Как прописать всю папку с подпапками?

Есть "что то" с интерфейсом? что позволит просто тыкать в папки и автоматом получать строку чтоб потом ее просто скопировать и вставить в батник??
Автор: KapralBel
Дата сообщения: 30.03.2006 09:50

Цитата:
банальная вещь... но не помню... -как и где? (не в autoexec.bat ли?) прописать в 98ом пути к множетву папок и подпапок??? формат в одну строку типа PATH=С:\;C:\Windows; и т.д. - обязателен? или можно несколько строк начинающихся с PATH ?


Код:
Path=C:\;C:\Windows;
Path=%Path%;C:\NC
Автор: Smitis
Дата сообщения: 30.03.2006 09:56
INTERESANT

Цитата:
Есть "что то" с интерфейсом? что позволит просто тыкать в папки и автоматом получать строку чтоб потом ее просто скопировать и вставить в батник??

FAR Commander

Автор: KapralBel
Дата сообщения: 30.03.2006 11:02
Smitis
Точно
FAR Manager или Total Commander
Не надо скрещивать эти два мощных файл-менеджера
Автор: INTERESANT
Дата сообщения: 30.03.2006 11:21
скрещивать ))))
в смысе есть плагины какие то? или просто бродить по папкам и копировать пути? (сейчас так и делаю)

Path=C:\;C:\Windows;
Path=%Path%;C:\NC

что во второй строке выполняет %Path%;?

за ответы благодарен...
Автор: KapralBel
Дата сообщения: 30.03.2006 11:53
INTERESANT
%Path% подставляет значение переменной Path (в данном случае - C:\;C:\Windows;)
В ФАРе на папке нажми
Ctrl+Enter - для получения имени папки
Ctrl+F - для получение полного пути
и далее Ctrl+Ins копирование командной строки в буфер обмена
Автор: slaj1
Дата сообщения: 30.03.2006 11:53
INTERESANT
насколько я понял суть вопроса и суть ответа, то имелось ввиду что в FAR есть возможность получить полный путь файла или папки, поставив курсор на объект (файл, папка) и нажав набор горячих клавиш, я сейчас использую Ctrl+F
Автор: Serge2005
Дата сообщения: 30.03.2006 21:17
jak_forest
Нет, создавать.
KapralBel
А как на vbs?

Спасибо. Вопрос отпал, разобрался:
[more]
Dim WSHShell, fs, path, Shortcut, Shortcut2, Shortcut3, Shortcut4, DesktopPath
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Function MakeDesktopShortcut( name, target )
path = WshShell.SpecialFolders("Programs") + "\" + name
If fs.FolderExists(path) = False Then
fldr = fs.CreateFolder(path)
End If
Set Shortcut = WSHShell.CreateShortcut( path + "\" + name + ".lnk")
Shortcut.TargetPath = target
Shortcut.WorkingDirectory = fs.GetParentFolderName( target )
Shortcut.Save
Set Shortcut2 = WSHShell.CreateShortcut( path + "\Set Russian.lnk")
Shortcut2.TargetPath = fs.GetParentFolderName( target ) + "\Lang03_rus.exe"
Shortcut2.WorkingDirectory = fs.GetParentFolderName( target )
Shortcut2.IconLocation = WSHShell.ExpandEnvironmentStrings("E:\WINDOWS\system32\SHELL32.dll,74")
Shortcut2.Save
Set Shortcut3 = WSHShell.CreateShortcut( path + "\Set English.lnk")
Shortcut3.TargetPath = fs.GetParentFolderName( target ) + "\Lang03_eng.exe"
Shortcut3.WorkingDirectory = fs.GetParentFolderName( target )
Shortcut3.IconLocation = WSHShell.ExpandEnvironmentStrings("E:\WINDOWS\system32\SHELL32.dll,74")
Shortcut3.Save
DesktopPath = WSHShell.SpecialFolders("Desktop")
Set Shortcut4 = WSHShell.CreateShortcut(DesktopPath + "\" + name + ".lnk")
Shortcut4.TargetPath = target
Shortcut4.WorkingDirectory = fs.GetParentFolderName( target )
Shortcut4.Save
End Function
MakeDesktopShortcut "Total Commander 6.54 rus test10", "E:\Program Files\Total Commander 6.54 rus test10\totalcmd.exe"
[/more]

Скажите, пожалуйста, а как массово снять атрибуты (только чтение, системный) со всех файлов с подпапками? С использование переменной типа %Systemdrive%.
Автор: jak_forest
Дата сообщения: 31.03.2006 06:47
Serge2005
В частности для всей папки %Systemdrive% (/S Обработка файлов с указанными именами в текущей папке и во всех ее подпапках. /D Обработка и файлов, и папок.)

Код:
attrib +r %Systemdrive%\* /s /d
Автор: Serge2005
Дата сообщения: 31.03.2006 18:03
jak_forest
Спасибо)))
Автор: vito333
Дата сообщения: 01.04.2006 10:32
подскажите плиз, как в таком батнике (копирую свою прогу вместо системного нотпада)
подставлять реальный путь вместо папки WINDOWS, ведь не у всех эта папка называется WINDOWS, нужно что-то типа %WINDOWS%, да?
---------------------------
copy /y notepad.exe C:\WINDOWS\System32\dllcache
copy /y notepad.exe C:\WINDOWS\ServicePackFiles\i386
copy /y notepad.exe C:\WINDOWS\System32
copy /y notepad.exe C:\WINDOWS
---------------------------
Автор: Serge2005
Дата сообщения: 01.04.2006 10:52
vito333
copy /y notepad.exe %SystemRoot%\System32\dllcache
Автор: LEX1
Дата сообщения: 01.04.2006 11:50
vito333

Цитата:
нужно что-то типа %WINDOWS%

%windir% Кажется это чуть корректнее чем %SystemRoot%

Цитата:
SET Вывод, задание и удаление переменных среды
Автор: Serge2005
Дата сообщения: 01.04.2006 11:55
LEX1
Спасибо, буду знать))) Если я правильно понял смысл, то %SystemRoot% не сработает, если папки систем не будет? (ну это редкий случай, согласитесь*)
Автор: LEX1
Дата сообщения: 01.04.2006 12:09
Serge2005
Я это понял также Кроме того, %windir% работает и под Win9x.
Автор: VAbramyak
Дата сообщения: 09.04.2006 00:39
подскажите пожалуйста есть в vbscript аналог mkdir, так как createFolder создает только конечную директорию поэтому не подходит! Например надо создать "c:\dir\dir1\dir2". При отсутствии dir и dir1 createFolder выдаст ошибку. Как быть? Спасибо.
Автор: Master_Alex
Дата сообщения: 09.04.2006 23:46
VAbramyak
Ну просто создать последовательно, а не сразу.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.