|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов |
|
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов
|
Новый участник Сообщения: 23 |
Внимание! В связи с созданием отдельного форума по скриптовым языкам, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь в написании батника". Это и так понятно ![]() |
|
Отправлено: 16:17, 01-11-2005 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать amel27, спасибо большое. Работает.
а как можно указать список папок в которых должно искать? например img, image, picture, photo чтоб не искало по всему диску а именно по таким папкам если они существуют? и еще одно, как указать все локальные диски для поиска? |
Последний раз редактировалось Freezet, 13-10-2008 в 18:04. Отправлено: 17:49, 13-10-2008 | #371 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать подскажите такую простую вещь
только начал капатся с bat-cmd перетаскиваю файл на bat файл соответсвенно переменная %1 возращает путь этого файла мне нужно выделить из пути только имя файла и "прибавить".jpg copy image.jpg /b + %1 /b <имя файла %1+.jpg> |
Отправлено: 20:04, 13-10-2008 | #372 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата porosenok:
Цитата:
Для подробностей см. Пуск - Выполнить - набрать в ком строке: For /? Здесь выкладывал справку по консольным командам |
||
Отправлено: 20:13, 13-10-2008 | #373 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать чиорт в моем примере всеравно чето не стыкуется
видимо в команде copy не допускается подстановки пути если вместо %1 использовать имя файла, предварительно положив файл в туже папку - то работает |
------- Отправлено: 20:33, 13-10-2008 | #374 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Как написать батник, который бы создавал файлы, соответствующие заранее составленному списку?
То есть, в директории лежит файл списка list.txt, в котором: 1.txt 2.txt 3.txt и батник test.bat, который должен обратиться к этому списку и создать соответствуюшие файлы: 1.txt, 2.txt, 3.txt. В точном соответствии с именем и количеством. |
Отправлено: 00:54, 14-10-2008 | #375 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать @ECHO OFF REM Код читает файл LIST.TXT построчно по одному слову и создает REM пустые файли с именами соответствующими тому что прчитано. REM Код может принимать один параметр: Папку в которой создавать REM файлы. Если указанной папки не окажется, то она будет создана. REM Если параметр не задан, то файлы создадутся с Current Work Path(в рабочем каталоге). IF NOT EXIST LIST.TXT GOTO NOLISTF @IF NOT "%1"=="" ( IF NOT EXIST %1\NUL MD %1 > NUL CD /D %1 > NUL ) FOR /F "TOKENS=1" %%I IN ('TYPE %~DP0LIST.TXT') DO IF NOT "%%I"=="" ( IF NOT EXIST %%I\NUL ECHO. > %%I ECHO MAKE %%I ) GOTO SUCC :NOLISTF ECHO LIST.TXT: FILE NOT FOUND. PAUSE GOTO END :SUCC ECHO OPERATION SUCCESSFULLY. PAUSE :END Т.е здесь читается файл LIST.TXT причем одно слово из строчки и переходит на новую строчку. Значит файл LIST.TXT должен быть таким: а не таким: В послелнем случае создастся один файл 1.txt. |
Последний раз редактировалось ___oj, 14-10-2008 в 05:03. Отправлено: 04:53, 14-10-2008 | #376 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать illznn
сам батник запускается?... если нет, то все вопросы сюда: Файл ответов Winnt.sif .:[все вопросы, уточнения, не срабатывает установка, etc]:. Freezet Цитата:
Цитата:
- явным перечислением; - все несетевые диски (включая CD/DVD/USB); - только конкретного типа; - другие варианты? porosenok rBBWYwg |
||
Последний раз редактировалось amel27, 14-10-2008 в 12:48. Причина: ADD Отправлено: 07:15, 14-10-2008 | #377 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать amel27,
тогда с именами папок пусть остается как было. Все ето нужно для того чтоб ускорить процесс поиска, может есть другие варианты ускорения? ![]() Цитата amel27:
тогда как я понимаю нужно исключить из поиска ту папку в которую будет копироваться информация |
|
Отправлено: 13:32, 14-10-2008 | #378 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Freezet
Цитата:
Цитата:
(имя временного файла - имя CMD-файла с расширением .LST) @Echo Off Set $MSK=*.CMD Set $DST=X:\FILES Set $LST=%TEMP%\%~n0.tmp If Exist "%$LST%" DEL /F /Q "%$LST%" If Exist "%$DST%" ( @Echo Удаление каталога назначения: RD /S "%$DST%" ) MD "%$DST%" @Echo. For /F "Tokens=3 Delims= " %%i In ('@Echo List Volume^|@DiskPart^|@FindStr /RBC:" *Том [0-9] *[A-Z] "^|Find /V "-ROM"') Do ( @Echo Формирование списка файлов по маске "%%i:\%$MSK%"... DIR /B/S/A:-D "%%i:\%$MSK%" >>"%$LST%" ) @Echo. @Echo Копирование отобранных файлов в назначенную папку... For /F "Delims=" %%i In ('FindStr /VBRIC:"[A-Z]:\\RECYCLER\\S" /C:"[A-Z]:\\$RECYCLE.BIN\\S" "%$LST%"') Do ( Call :FileGetNewName "%%i" "%$DST%" Call :FileCopy "%%i" ) If Exist "%$LST%" DEL /F /Q "%$LST%" @Echo Работа скрипта завершена. Exit :FileCopy :: --- :: %1 - полное имя исходного файла, включая путь :: --- :: @Echo.%~1 Copy "%~1" "%FileGetNewName%" >Nul GoTo :EOF :FileGetNewName :: --- :: %1 - полное имя исходного файла, включая путь :: %2 - путь к целевому каталогу :: --- Set $I= Set FileGetNewName= If Not Exist "%~1" GoTo :EOF For %%i In ("%~1") Do Set $N=%%~ni For %%i In ("%~1") Do Set $X=%%~xi :FileGetNewName_LOOP Set FileGetNewName=%~2\%$N%%$I%%$X% If Not Exist "%FileGetNewName%" GoTo :EOF Set /A $I +=1 GoTo FileGetNewName_LOOP |
||
Последний раз редактировалось amel27, 18-10-2008 в 09:29. Отправлено: 07:51, 15-10-2008 | #379 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать amel27, призапуске бат файла создало файл с именем етого же бат файла и расширением .lst и папку Files но в папке пусто
|
Отправлено: 17:07, 15-10-2008 | #380 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] VBS/WSH. Сортировка файлов по дате. | rancid | Скриптовые языки администрирования Windows | 3 | 23-07-2009 06:38 | |
[решено] Как с помощью CMD(BAT) запустить запароленный sfx архив! | ofcoss | Автоматическая установка приложений | 7 | 10-07-2009 00:41 | |
CMD/BAT - [решено] Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок | Nun-Nun | Скриптовые языки администрирования Windows | 6 | 14-05-2009 15:45 | |
Нужна снова ваша помощь в написании интересного скрипта | Magnus | Вебмастеру | 2 | 09-06-2005 20:26 | |
Нужна помощь в написании скрипта | Magnus | Вебмастеру | 7 | 06-05-2005 10:53 |
|