Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переменные в XP проблема

Ответить
Настройки темы
CMD/BAT - [решено] Переменные в XP проблема

Новый участник


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

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


Ребят, спасайте, уже всю голову сломал и половину инета излазил. Имеется код с переменными который отлично выполняется на Windows 7 и совсем не хочет выполнятся в XP. Вот кусок кода

if exist %USERPROFILE%\1\ (
msg * "PriVet!"
) else (
msg * "Poka"
)
pause

Пишет and не является внутренней или внешней командой и т.д.

И почти со всеми переменными. кроме windir, programfiles, systemDrive.
Пробывал на двух XP запускать, одна из них только что установленная + обновленная.
Версия cmd 5.1.2600.

Отправлено: 14:23, 17-10-2014

 

Аватара для gora

Ушёл из жизни


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

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


Цитата Basiak:
Пишет and не является внутренней или внешней командой и т.д. »
Переменная %USERPROFILE% в ХР содержит пробелы и путь с ней нужно заключать в кавычки.
Код: Выделить весь код
if exist "%USERPROFILE%\1\" (
...
Кстати, и в win7 эта переменная может содержать пробелы, и Вам просто повезло.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:39, 17-10-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Цитата gora:
Переменная %USERPROFILE% в ХР содержит пробелы и путь с ней нужно заключать в кавычки. »
Клево!
Простите за наглость, может тогда подскажите есть строчка

for %%a in ("%vobmen%\Export_*.xls") do (echo.%%~na>>%vlog% & set /a sum+=1)
echo Количество старых файлов !sum! >>%vlog%

в семерке писала в файл названия всех найденых файлов (%%~na) и общее количество, а в XP теперь пишет не название а:
Documents
and
Рабочий
И всегда количество файлов пишет три. Вне зависимости 1 там или 5.

Оу, понял свой косяк - необходимо так:
for %%a in (%vobmen%\"Export_*.xls") do (echo.%%~na>>%vlog% & set /a sum+=1)

Цитата gora:
gora »
Огромное спасибо!

Отправлено: 16:33, 17-10-2014 | #3


Аватара для gora

Ушёл из жизни


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

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


Цитата Basiak:
необходимо так:
for %%a in (%vobmen%\"Export_*.xls") do (echo.%%~na>>%vlog% & set /a sum+=1) »
Лучше так:
Код: Выделить весь код
for %%a in ("%vobmen%\Export_*.xls") do (echo.%%~na>>"%vlog%" & set /a sum+=1)
Ибо переменные %vobmen% и %vlog% тоже могут иметь пробелы. Вообще кавычки в таких местах - "правило хорошего тона" в программировании.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:13, 17-10-2014 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переменные в XP проблема

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - Переменные RasKolbas Общий по Linux 8 23-07-2010 18:12
Проблема с PHP(не передаются переменные из формы в PHP- скрипт) Kirander Вебмастеру 21 03-08-2009 01:11
Переменные Windows XP Pro x64 Edition Bodia1 Автоматическая установка Windows 2000/XP/2003 3 09-02-2008 19:23
$OEM$ Переменные Iliander Автоматическая установка Windows 2000/XP/2003 1 08-03-2007 04:53
Переменные окружения Guest Microsoft Windows 95/98/Me (архив) 2 25-03-2003 12:00




 
Переход