|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проблема со сложением и выводом строк в bat файле |
|
CMD/BAT - [решено] Проблема со сложением и выводом строк в bat файле
|
Новый участник Сообщения: 8 |
Здравствуйте.
Пытаюсь получить путь к файлу сложив его из параметра и имени файла. Вот код: @echo off set daPath = %~f3 set daPath = %daPath%\MyFile.txt echo %daPath% if exist %daPath% (echo "yes") else (echo "no") В результате запуска получаю: Режим вывода команд на экран (ECHO) отключен. Если убираю echo %daPath% - код вообще ничего не выводит. Пробовал убирать @echo off. Тогда выводит только выполняемые инструкции и ничего из echo. Подскажите что делаю не так ? Нужно просмотреть какой путь формируется и выполняется ли проверка в if. |
|
Отправлено: 23:52, 21-03-2012 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Зачем вы формируете путь в два прохода? Не проще ли сразу его получать в одной строке, используя параметр и имя нужного файла? В ту же строку можно вставить проверку на то, передается ли параметр вообще.
Вот так у вас работает? |
Отправлено: 00:25, 22-03-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 00:26, 22-03-2012 | #3 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Спасибо большое. Работает. Так просто ,а мне то даже в голову не пришло что пробелы могут мешать...
В два прохода - это для примера. Это на самом деле переменная из которой будут разные пути получаться. Root к которому разные файлы приписываются. Спасибо ещё раз за ответы. |
Отправлено: 12:58, 22-03-2012 | #4 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Коллеги, дабы не плодить еще одну тему.
Тоже самое либо пишет "Режим вывода команд на экран (ECHO) отключен" либо лога нет совсем, пусто. Сам код: @echo off setlocal enabledelayedexpansion CHCP 1251 SET PGHOST=localhost SET PGPORT=5432 SET PGUSER=Testov SET PGPASSWORD=TestovPass FOR /F "usebackq delims=" %%j in (`date /t`) do set tDate=%%~j FOR /F "usebackq delims=" %%j in (`echo %time:~,-3%`) do set tTime=%%~j FOR /F "usebackq" %%a IN (`CALL "C:\Program Files\PostgreSQL\14\bin\reindexdb.exe"`) DO ( set result=%%a echo+ %result% >C:\Users\drweb\Desktop\Reindex.Log ) pause В кратции есть скрипт реиндексации БД CHCP 1251 SET PGHOST=localhost SET PGPORT=5432 SET PGUSER=Testov SET PGPASSWORD=TestovPass CALL "C:\Program Files\PostgreSQL\14\bin\reindexdb.exe Меня озадачили сделать автоматизацию...в целом все работает, да только лога нет, могу сделать лог но без даты внутри лога в строке. Пытался сделать и тоже ошибка Echo. Прошу покажите в чем ошибка, где не прав, и не так мыслю ? |
|
Отправлено: 16:28, 18-04-2022 | #5 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата sno:
![]() По Вашему верхнему "коду" сложно понять Ваш замысел: куча переменных, которые затем нигде не используются. Как организуется log-файл - каждый раз новый с одним и тем же именем? Или, всё-таки его надо дописывать при каждой реиндексации? ИМХО, лучше бы иметь каждый раз новый с датой и временем в имени. Попытался угадать: @Echo Off cls >nul Chcp 1251 Set "PGhost=localhost" Set "PGport=5432" Set "PGuser=Testov" Set "PGpassword=TestovPass" Set Prog="C:\Program Files\PostgreSQL\14\bin\reindexdb.exe" Set "Log=C:\Users\drweb\Desktop\Reindex.Log" >>"%Log%" 2>>&1 (For /f "usebackq delims=" %%p In (`%Prog%`) Do ( Call Echo %%Date%% %%Time:~0,-3%% %%p )) pause Exit /B |
|
------- Последний раз редактировалось megaloman, 19-04-2022 в 08:59. Отправлено: 08:53, 19-04-2022 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле | InVariable | Скриптовые языки администрирования Windows | 4 | 22-05-2015 20:06 | |
CMD/BAT - [решено] Сложение двух строк в bat - файле | sunnykey | Скриптовые языки администрирования Windows | 3 | 22-02-2012 17:25 | |
VBS/WSH/JS - Удаление строк в REG файле | gen0m.rsw | Скриптовые языки администрирования Windows | 9 | 28-09-2011 18:03 | |
[решено] Количество строк в файле | 0xDEADBEEF | AutoIt | 3 | 25-01-2010 21:47 | |
Как оставить в файле Х первых строк? | Dan | Вебмастеру | 10 | 19-10-2002 00:41 |
|