2 / 2 / 0
Регистрация: 10.08.2015
Сообщений: 36
1

Почему скрипт работает на Windows 7, но не работает на Windows XP?

14.06.2017, 07:19. Показов 2296. Ответов 10
Метки нет (Все метки)

Всем привет! Подскажите пожалуйста, где ошибка?

На Win7 скрипт отрабатывает, на WinXP нет...Причём если выполнить скрипт просто из CMD, работает...

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off 
 
ver | find "6.1" > nul 
if %ERRORLEVEL% == 0 goto W7 
ver | find "5.1" > nul 
if %ERRORLEVEL% == 0 goto XP 
 
:XP 
echo D |xcopy "%userprofile%\Application Data\Spark\user" /H /Y /C /R /S /Z "%userprofile%\Рабочий стол" > nul
exit /b
 
:W7
echo D |xcopy "%userprofile%\AppData\Roaming\Spark\user" /H /Y /C /R /S /Z "%userprofile%\Desktop" > nul
exit /b
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2017, 07:19
Ответы с готовыми решениями:

Скрипт в Windows XP работает правильно, а в Windows 7 — неправильно
Здравствуйте! Проблема следующая, в Windows XP скрипт отрабатывает правильно: Распаковывает архив,...

Почему на ASUS Eee PC 1225B Windows XP SP3 работает даже хуже чем Windows 7?
Процессор — E-450, частота - 1650 МГц, ОП — 2.6 Гб, Интерфейс: SATA. Ставил чистую ось...

Жёсткий диск My Passport Ultra на Windows 7 и 10 всё работает, а на Windows XP не работает
Имеется жёсткий диск My Passport Ultra на 1 терабайт. На Windows 7 и 10 всё работает. На Windows...

В Windows 7 не работает сервис, который работает без проблем в Windows XP
Написан сервис который взаимодействует с приложением по средством api этого приложения(все функции...

10
1636 / 345 / 41
Регистрация: 15.10.2012
Сообщений: 532
20.06.2017, 10:41 2
А скрипт в кодировке OEM?
0
2 / 2 / 0
Регистрация: 10.08.2015
Сообщений: 36
21.06.2017, 07:10  [ТС] 3
Цитата Сообщение от Smitis Посмотреть сообщение
А скрипт в кодировке OEM?
Спасибо! Уже помогли на другом форуме, проблема действительно была в кодировке...
0
3732 / 1513 / 259
Регистрация: 10.12.2013
Сообщений: 5,173
22.06.2017, 09:21 4
Вот, кстати, ещё один пример того,
почему cmd должен быть немедленно похоронен
( и это важнее, чем вынос ильича из мавзолея ),
а в могилу на всю глубину инсталлирован кол из древесных пород
( предпочтительно из осины ).
0
2 / 2 / 0
Регистрация: 10.08.2015
Сообщений: 36
22.06.2017, 17:05  [ТС] 5
Цитата Сообщение от volodin661 Посмотреть сообщение
cmd должен быть немедленно похоронен
В PowerShell таких проблем разве нет?
0
3732 / 1513 / 259
Регистрация: 10.12.2013
Сообщений: 5,173
22.06.2017, 19:25 6
А ты попробуй сам, дел на 2 минуты, а то мало ли, что я тут понарасскажу.
0
1636 / 345 / 41
Регистрация: 15.10.2012
Сообщений: 532
29.06.2017, 19:26 7
А что, хороший эксперимент. Создать простой скрипт на PS содержащий вывод на экран русского текста, сохранить в кодировке OEM, запустить и посмотреть, что получилось. Делайте ставки, сможет PS сам определить, что это OEM или нет.
0
4069 / 2057 / 648
Регистрация: 26.04.2015
Сообщений: 6,667
30.06.2017, 02:12 8
Цитата Сообщение от Smitis Посмотреть сообщение
хороший эксперимент
Почему скрипт работает на Windows 7, но не работает на Windows XP?
0
4069 / 2057 / 648
Регистрация: 26.04.2015
Сообщений: 6,667
30.06.2017, 02:17 9
случайно еще скопировал, ну ладно
здесь вывод на экран скопированного в буфер
0
Миниатюры
Почему скрипт работает на Windows 7, но не работает на Windows XP?  
Любознательный
2037 / 817 / 221
Регистрация: 10.03.2016
Сообщений: 1,894
30.06.2017, 09:12 10
Цитата Сообщение от alpap Посмотреть сообщение
вывод на экран скопированного в буфер
Скопированное в буфер, это не совсем тождественно сохраненному в файл, в кодировке OEM ... да и не определит PS сам, без доп.кода, какую ему кодировку пихают на вход.
Эксперимент надо делать так:
Берем файл с кириллицей в кодировке OEM, читаем его, обрабатываем текст с выводом на экран и сохраняем в другой файл результат.
Да, самое главное, для чистоты эксперимента, при чтении и сохранении не надо использовать возможность PS указывать заранее известную кодировку... вот это будет тест распознавания кодировки.
По дефолту у него используется 1251, её тоже лучше не использовать в файлах, т.к. это будет не совсем "чистый" эксперимент.

А по теме проблемы ТС, в PS существуют те же самые проблемы, увы, всё по той же причине отсутствия автоопределения кодировки самого скрипта. Т.е. PS будет работать с кодировкой 1251, а при остальных, на экран консоли будут выведены кракозябры, вот простой скрипт:
PowerShell
1
echo "Привет, Мир!"
- скрипт сохранять необходимо в разных кодировках и запускать прямо из консоли... тогда будет всё наглядно.
0
3732 / 1513 / 259
Регистрация: 10.12.2013
Сообщений: 5,173
05.07.2017, 03:38 11
Лучший ответ Сообщение было отмечено prostofirma как решение

Решение

Smitis с друзьями, не надо передёргивать.

Напоминаю обстоятельства, которые привели к написанию ТС его поста.

Ни в чём не виноватый пользователь, создал в Виндусе командный скрипт,
связанный с копированием файлов.
Сей текстовый файл сохранился в кодировке windows-1251, которая является
основной однобайтной кодировкой, соответствующей русской locale.
Все текстовые редакторы в системе( и предустановленные и привнесённые извне)настроены
именно на неё. Пользователь в данном случае не обязан ничего знать про все прочие возможные кириллические кодировки,
которые на данный момент существуют в этом мире ( CP866, ISO 8859-5, KOI8-R, KOI8-U, ... ) и вправе рассчитывать на то,
что в любой другой версии Windows с той же русской locale этот скрипт должен
корректно отработать. В случае с powershell всё именно так и произойдёт, скрипт прекрасно отработает
вне зависимости от того, будет ли там упомянут Desktop или Рабочий стол.
В случае же с cmd случится та самая лажа, которая сподвигла ТС на написание данного поста.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.07.2017, 03:38

Не работает скрипт в Windows 7 64-bit
Написал следующий скрипт WScript.Echo(fileNameWallpaper()); //Функция возвращающая имя файла...

Почему скрипт не работает в Chrome, а в Firefox и Opera работает?
Имеется обычный код JS, работающий в Firefox и Opera, но не работающий в Chrome. Кстати хотел ещё...

Почему не работает программа с БД на Windows 7
Ребят, я тут вроде как при помощи gaw программку сделал которая берет данные из БД Microsoft Access...

Почему в Windows XP не работает MediaElements
Почему в Windows XP не работает MediaElements, как сделать чтоб работал. В Windows 7 всё работает


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.