Делаю бекапы каждый день, накапливается не один десяток гигабайт информации. Чистить нужно, тем более старые бекапчики особой важности не несут. Раньше удалял вручную, но потом задумался… Вручную делать это лень, тем более можешь завтыкать, протупить и удалить не то. Короче, ленивый сделает лучше всех — нужно автоматизировать.
Воспользовался встроенной утилитой forfiles. Теперь все делает планировщик задач и несложный bat-ник в две строки. Пример дальше.
Команды forfiles. Примеры
Вот так примерно выглядит команда для отображения всех файлов с расширением .rar на диске С старше 10-ти дней:
forfiles /p C: /m *.rar /s /d -10 /c «cmd /c echo @path»
Разберем ключи по порядку:
/p — пусть для проверки. В примере диск C:
/m — маска для поиска. Можно не задавать, если хотим убрать все файлы в папке. В примере все архивы с расширением .rar
/s — сканируем вложенные папки в том числе.
/d — дата. Можно задать в формате dd.mm.yyyy или dd. У нас -10 дней, можно указать +N дней. Про +N дней читайте далее.
/c — команда. Ключевое что нам нужно — собственно что мы будем делать с файлами. В командах также можно использовать переменные:
@path — показывает полный путь к файлу и его имя.
@relpath — показывает путь к файлу только в сканируемой папке.
@file — имя файла полностью с расширением.
@fname — только имя файла, без расширения.
@ext — только расширение имени файла.
@isdir — проверка типа файла — папка или файл. Возвращает true, если папка, и false для файлов.
@fsize — возвращает размер файла в байтах.
@fdate — возвращает дату последнего изменения файла.
@ftime — возвращает время последнего изменения файла.
Также результаты исполнения скрипта можно записать в файл.
Пример использования forfiles — отобразить все файлы .zip на диске и записать их в файл
Следующий код отобразит все Ваши исполняемые файлы .exe:
forfiles /p C: /m *.exe /s /c «cmd /c echo @path»
Если нужно их записать в файл, то добавьте в конце знак БОЛЬШЕ и адрес куда сохранить файл (лучше всего прописать полный путь).
forfiles /p C: /m *.exe /s /c «cmd /c echo @path» > D:all_exefiles.txt
Вставляем код в cmd:
Результат — созданный файл на диске D: и его содержимое (можно много интересного найти):
Пример forfiles с переменными путь, дата, размер
Давайте вызовем все наши файлы с диска D: с расширением .zip, а выведем их на экран с адресом, датой и размером файла. Используем скрипт:
forfiles /p D: /m *.zip /s /c «cmd /c echo @path изменен @fdate и размером @fsize байт »
Вот результат выполнения скрипта:
Как удалить файлы старше 10 дней
Чаще всего forfiles используют как раз для задачи удаления устаревших файлов. Вот Вам cmd скрипт для удаления старых файлов (в примере старше 10 дней):
forfiles /p C: /m *.rar /s /d -10 /c «cmd /c del @path /q»
Как удалить папки старше 7 дней с помощью forfiles
Кроме самих файлов не лишним будет удалять и папки, тем более если они будут пустые (без файлов). Код:
forfiles /p C:downloads /s /d -7 /c «cmd /c rmdir /s del @path /q»
В этом примере я написал уже 7 дней. Для удаления папок мы используем rmdir, ключ /s — для сканирования вложенных папок, del — команда удаления, /q — удаление без подтверждения.
I was attempting to issue the following FORFILES command, and I recieved an error that distressed me (listed after the command).
C:Windowssystem32>FORFILES /P %WINDIR%servicingPackages /M Microsoft-Windows-InternetExplorer-*9.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart"
ERROR: Invalid syntax. '/c' option is not allowed more than '1' time(s).
Type "FORFILES /?" for usage.
I’ve gone over the command a few times, and it seems to be correct, but clearly isn’t. I’ve verified the paths and arguments. I’m running the command-line as administrator on Windows 7 32-bit SP1. Any insight would be much appreciated.
asked Nov 5, 2013 at 22:46
I’m thinking you copy and pasted the syntax into cmd. You are probably facing the smart quote issue. Retype the script yourself instead of copy and pasting. Or copy to notepad, erase the quotes and then put the quotes back. then copy that and paste to cmd. Sounds silly but it is a known issue.
answered Nov 6, 2013 at 0:44
jmc302005jmc302005
7234 silver badges9 bronze badges
0
You’ve to use the Escape-Sign ^ for some other signs like this:
FORFILES /P "%WINDIR%servicingPackages" /M "Microsoft-Windows-InternetExplorer-*9.*.mum" /c "cmd ^/c echo ^"Uninstalling package @fname^" ^&^& start ^/w pkgmgr ^/up:@fname ^/norestart"
Than it should work. I don’t try it with your line, but got the same error sometimes.
answered Feb 21, 2014 at 10:51
I was attempting to issue the following FORFILES command, and I recieved an error that distressed me (listed after the command).
C:Windowssystem32>FORFILES /P %WINDIR%servicingPackages /M Microsoft-Windows-InternetExplorer-*9.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart"
ERROR: Invalid syntax. '/c' option is not allowed more than '1' time(s).
Type "FORFILES /?" for usage.
I’ve gone over the command a few times, and it seems to be correct, but clearly isn’t. I’ve verified the paths and arguments. I’m running the command-line as administrator on Windows 7 32-bit SP1. Any insight would be much appreciated.
asked Nov 5, 2013 at 22:46
I’m thinking you copy and pasted the syntax into cmd. You are probably facing the smart quote issue. Retype the script yourself instead of copy and pasting. Or copy to notepad, erase the quotes and then put the quotes back. then copy that and paste to cmd. Sounds silly but it is a known issue.
answered Nov 6, 2013 at 0:44
jmc302005jmc302005
7234 silver badges9 bronze badges
0
You’ve to use the Escape-Sign ^ for some other signs like this:
FORFILES /P "%WINDIR%servicingPackages" /M "Microsoft-Windows-InternetExplorer-*9.*.mum" /c "cmd ^/c echo ^"Uninstalling package @fname^" ^&^& start ^/w pkgmgr ^/up:@fname ^/norestart"
Than it should work. I don’t try it with your line, but got the same error sometimes.
answered Feb 21, 2014 at 10:51
Вопрос:
У меня возникла проблема с постоянной установкой глобальной переменной окружения PATH
с помощью SETX
.
Я прочитал ответы на похожие вопросы, такие как Недопустимый синтаксис с setx, а также прочитал синтаксис SS64.
Насколько я знаю, следующая строка следует за синтаксисом SETX
правильно и НЕ имеет более двух аргументов:
SETX PATH "%PATH%"
Но это не останавливает SETX
от предоставления мне этой ошибки:
ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).
Type "SETX /?" for usage.
Вышеуказанная команда выполнялась на экземпляре администратора cmd.exe
. Что еще более странно, проблема в том, что в пользовательском экземпляре cmd.exe
работает одна и та же команда.
Я упростил приведенную выше команду, чтобы подчеркнуть проблему, но то, что я действительно пытаюсь запустить, это:
SETX PATH "%PATH%;D:Program Files (x86)Microsoft Visual Studio 12.0VCbin" /M
Конечно, это дает ту же самую точную ошибку, и я не могу запустить ее в пользовательском экземпляре cmd.exe
, потому что я пытаюсь установить глобальную переменную среды PATH
permenantly. (который требует доступа администратора)
Лучший ответ:
echo %PATH%
Если ваш (машинный уровень) %path%
заканчивается завершающим обратным символом обратной связи (обратная косая черта), вы должны удвоить его следующим образом:
if "%path:~-1%"=="" (
SETX PATH "%PATH%"
) else (
SETX PATH "%PATH%"
)
Ресурс: Синтаксис: символы выхода, разделители и цитаты (обратите внимание на мои основные моменты в следующей цитате):
В некоторых командах (например,
REG
иFINDSTR
) используется стандартный escape-символ(используется C, Python, SQL, bash и многие другие языки.)
escape может вызвать проблемы с указанными путями каталогов, которые содержат trailing backslash, потому что заключительная цитата
"
в конце строки будет экранировано"
.Чтобы сохранить путь к каталогу с обратной обратной косой чертой (
), необходимо добавить вторая обратная косая черта, чтобы “избежать побега”, например, вместо
"C:My Docs"
использовать"C:My Docs"
Вышеуказанные инструкции в конце применяются к
SETX
. Вот пример:
==>set myPath
myPath=D:Program FilesOgreSDK
==>setx myOgre "%myPath%"
SUCCESS: Specified value was saved.
==>reg query HKEY_CURRENT_USEREnvironment /v myOgre
HKEY_CURRENT_USEREnvironment
myOgre REG_SZ D:Program FilesOgreSDK"
==>setx myOgre "%myPath%"
SUCCESS: Specified value was saved.
==>reg query HKEY_CURRENT_USEREnvironment /v myOgre
HKEY_CURRENT_USEREnvironment
myOgre REG_SZ D:Program FilesOgreSDK
==>
Ошибка Invalid syntax
относится к сломанной переменной уровня пользователя %path%
, вызванной первым использованием SETX PATH "%PATH%"
, поскольку переменная среды уровня пользователя имеет приоритет над машинным уровнем один. Чтобы решить проблему, отрегулируйте переменную пользователя %path%
(или удалите ее вообще) сначала через графический интерфейс Windows (предпочтительный вариант):
Control Panel | System | Advanced | Environment Variables
Доказательство – воспроизведите проблему в два этапа:
Шаг # 1: начните с хорошей переменной %myPath%
на уровне машины с завершающим ; lastly (in fine) нарушил эту переменную для текущего пользовательского уровня и
exit
сеанса cmd
.
==>set myPath
myPath=D:tempfoo foo
==>reg query HKEY_CURRENT_USEREnvironment /v myPath
ERROR: The system was unable to find the specified registry key or value.
==>reg query "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /v myPath
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment
myPath REG_SZ D:tempfoo foo
==>setx myPath "%myPath%;D:tempbu bu bu"
SUCCESS: Specified value was saved.
==>reg query HKEY_CURRENT_USEREnvironment /v myPath
HKEY_CURRENT_USEREnvironment
myPath REG_SZ D:tempfoo foo;D:tempbu bu bu
==>rem fetch erroneous state
==>setx myPath "%myPath%"
SUCCESS: Specified value was saved.
==>reg query HKEY_CURRENT_USEREnvironment /v myPath
HKEY_CURRENT_USEREnvironment
myPath REG_SZ D:tempfoo foo"
==>exit
Шаг # 2: в новом сеансе cmd
начните с сломанной переменной %myPath%
на уровне пользователя с завершающим "
; это вызывает ошибку, о которой идет речь.
==>set myPath
myPath=D:tempfoo foo"
==>reg query HKEY_CURRENT_USEREnvironment /v myPath
HKEY_CURRENT_USEREnvironment
myPath REG_SZ D:tempfoo foo"
==>reg query "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" /v myPath
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment
myPath REG_SZ D:tempfoo foo
==>setx myPath "%myPath%;D:tempbu bu bu"
ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).
Type "SETX /?" for usage.
==>reg query HKEY_CURRENT_USEREnvironment /v myPath
HKEY_CURRENT_USEREnvironment
myPath REG_SZ D:tempfoo foo"
==>
Ответ №1
Ниже работал у меня:
Шаг 1:
setx PATH "%PATH%;%GOPATH%bin"
Я получил следующий ответ:
WARNING: The data being saved is truncated to 1024 characters.
SUCCESS: Specified value was saved.
Другим более простым примером может быть:
setx PATH "%PATH%;C:Gobin"
Шаг 2:
Перезапустите командную строку, чтобы увидеть новые настройки пути
echo %PATH%
Ответ №2
Это означает, что он уже находится на пути (я несколько раз сражался с setx, это глупо).
Вы можете добавить одну и ту же существующую запись или добавить новую запись без ошибок, но не другую запись. Путь пустой для пользователя, путь не пуст на машину.
Qraizer
Сообщ.
#11
,
08.08.20, 12:24
Moderator
Рейтинг (т): 520
Цитата Виталь @ 08.08.20, 10:40
Вот кусок кода
Пример кода неверный. Плохо соответствует реальному. Сделай, плз, ещё раз, но без ошибок. Если судить по тексту сообщения, то этот if() должен быть внутри лябмды, но там даже лямбда неправильно определена, её по сути нет. Компилер должен был бы стопнуться ещё на её заголовке.
Цитата Виталь @ 08.08.20, 11:17
В оригинале был GetModuleHandle, но он выдает error C2664: GetModuleHandleW: невозможно преобразовать параметр 1 из «const char *» в «LPCWSTR» (независимо от того, стоит ли в свойствах использование юникода)
Так не бывает. Значит ты либо неправильно сказал использовать ANSI, либо подключил не те заголовки, если они от какой-нибудь сторонней либы, либо эта либа просто расчитана исключительно на юникод
Добавлено 08.08.20, 12:26
Цитата OpenGL @ 08.08.20, 10:44
Это какое-то бесполезное использование auto. В данном случае оно ничего не сокращает. Пиши тупо std::vector<int> var123; и всё
Вообще не понимаю апологетов нового стиля инициализаторов. Везде суют {}, что только с толку сбивает.
Добавлено 08.08.20, 12:54
P.S. VS2019 всё ещё умеет работать на любых Win7 с SP1. Что касается требуемых объёмов, тот тут всё зависит от набора компонентов. У меня стоит 2017 на ~20Гб, в которые включены базовые средства для C# и VB, отладчик JIT, инструменты статического и динамического анализа, наборы заголовков и библиотек для создания приложений под XP и API в совокупности трёх версий (ещё 7 и 8.1), плагины для полноценной поддержки GPU, библиотеки MFC и ATL (так ни разу и не воспользовался), RTL четырёх вариантов (статические/динамические, релиз/дебаг, естественно включая и упомянутые MFC с ALTем + ешё раз то же самое за ANSI/UNICODE для них) под три целевые исполнительные платформы x32, x64 и ARM с исходниками + беззаголовочные варианты при поддержке модулей, средства разработки под Android и два его эмулятора и Python обоих разрядностей.
Сообщение отредактировано: Qraizer — 08.08.20, 13:14
Я использую Windows 10. В CMD я попытался выполнить следующую команду в своем электронном проекте:
setx GH_TOKEN "ghp_B3kYZy7OibM1Rka4Y3jLSiBUlvtSS717FhvE" npm run publish
И я получил такую ошибку:
ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).
Type "SETX /?" for usage.
Следующий код является частью содержимого файла Package.json :
"scripts": {
"publish": "electron-builder build -w -p onTagOrDraft"
}
В учебном пособии, которое я просматриваю, эта команда вводится в операционной системе Mac следующим образом, где она работает правильно:
2 ответа
Лучший ответ
Использовать
setx GH_TOKEN "ghp_B3kYZy7OibM1Rka4Y3jLSiBUlvtSS717FhvE" && npm run publish
&&
необходимы, потому что есть две команды. Без &&
npm run publish
будет передан в качестве аргументов в SETX
2
Daniel Hilgarth
17 Авг 2021 в 11:37
Эта ошибка также возникает, если устанавливаемая вами переменная среды содержит один или несколько пробелов.
В этом случае вы можете избежать проблемы, заключив значение в двойные кавычки. В отличие от SET
, который принимает кавычки как часть значения, SETX
исключает кавычки из вашего сохраненного значения.
Различия в обработке пробелов и кавычек с помощью SET
и SETX
показаны в примерах ниже.
Для SET
с пробелами кавычки не нужны (и, если они включены, становятся частью значения):
Set a value View the value
----------------------------- -----------------------------
C:TEMP>set MYVAR=some value C:TEMP>set MY
MYVAR=some value
C:TEMP>set MYVAR="some value" C:TEMP>set MY
MYVAR="some value"
Для SETX
с пробелами кавычки необходимы (и не становятся частью значения):
Set a value View the value in a new window
----------------------------- -----------------------------
C:TEMP>SETX MYVAR some value
ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).
Type "SETX /?" for usage.
C:TEMP>SETX MYVAR "some value" C:TEMP>set MY
SUCCESS: Specified value was saved. MYVAR=some value
0
Reg Edit
19 Сен 2021 в 23:18
Делаю бекапы каждый день, накапливается не один десяток гигабайт информации. Чистить нужно, тем более старые бекапчики особой важности не несут. Раньше удалял вручную, но потом задумался… Вручную делать это лень, тем более можешь завтыкать, протупить и удалить не то. Короче, ленивый сделает лучше всех — нужно автоматизировать.
Воспользовался встроенной утилитой forfiles. Теперь все делает планировщик задач и несложный bat-ник в две строки. Пример дальше.
Команды forfiles. Примеры
Вот так примерно выглядит команда для отображения всех файлов с расширением .rar на диске С старше 10-ти дней:
forfiles /p C: /m *.rar /s /d -10 /c «cmd /c echo @path»
Разберем ключи по порядку:
/p — пусть для проверки. В примере диск C:
/m — маска для поиска. Можно не задавать, если хотим убрать все файлы в папке. В примере все архивы с расширением .rar
/s — сканируем вложенные папки в том числе.
/d — дата. Можно задать в формате dd.mm.yyyy или dd. У нас -10 дней, можно указать +N дней. Про +N дней читайте далее.
/c — команда. Ключевое что нам нужно — собственно что мы будем делать с файлами. В командах также можно использовать переменные:
@path — показывает полный путь к файлу и его имя.
@relpath — показывает путь к файлу только в сканируемой папке.
@file — имя файла полностью с расширением.
@fname — только имя файла, без расширения.
@ext — только расширение имени файла.
@isdir — проверка типа файла — папка или файл. Возвращает true, если папка, и false для файлов.
@fsize — возвращает размер файла в байтах.
@fdate — возвращает дату последнего изменения файла.
@ftime — возвращает время последнего изменения файла.
Также результаты исполнения скрипта можно записать в файл.
Пример использования forfiles — отобразить все файлы .zip на диске и записать их в файл
Следующий код отобразит все Ваши исполняемые файлы .exe:
forfiles /p C: /m *.exe /s /c «cmd /c echo @path»
Если нужно их записать в файл, то добавьте в конце знак БОЛЬШЕ и адрес куда сохранить файл (лучше всего прописать полный путь).
forfiles /p C: /m *.exe /s /c «cmd /c echo @path» > D:all_exefiles.txt
Вставляем код в cmd:
Результат — созданный файл на диске D: и его содержимое (можно много интересного найти):
Пример forfiles с переменными путь, дата, размер
Давайте вызовем все наши файлы с диска D: с расширением .zip, а выведем их на экран с адресом, датой и размером файла. Используем скрипт:
forfiles /p D: /m *.zip /s /c «cmd /c echo @path изменен @fdate и размером @fsize байт »
Вот результат выполнения скрипта:
Как удалить файлы старше 10 дней
Чаще всего forfiles используют как раз для задачи удаления устаревших файлов. Вот Вам cmd скрипт для удаления старых файлов (в примере старше 10 дней):
forfiles /p C: /m *.rar /s /d -10 /c «cmd /c del @path /q»
Как удалить папки старше 7 дней с помощью forfiles
Кроме самих файлов не лишним будет удалять и папки, тем более если они будут пустые (без файлов). Код:
forfiles /p C:downloads /s /d -7 /c «cmd /c rmdir /s del @path /q»
В этом примере я написал уже 7 дней. Для удаления папок мы используем rmdir, ключ /s — для сканирования вложенных папок, del — команда удаления, /q — удаление без подтверждения.
I was attempting to issue the following FORFILES command, and I recieved an error that distressed me (listed after the command).
C:Windowssystem32>FORFILES /P %WINDIR%servicingPackages /M Microsoft-Windows-InternetExplorer-*9.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart"
ERROR: Invalid syntax. '/c' option is not allowed more than '1' time(s).
Type "FORFILES /?" for usage.
I’ve gone over the command a few times, and it seems to be correct, but clearly isn’t. I’ve verified the paths and arguments. I’m running the command-line as administrator on Windows 7 32-bit SP1. Any insight would be much appreciated.
asked Nov 5, 2013 at 22:46
I’m thinking you copy and pasted the syntax into cmd. You are probably facing the smart quote issue. Retype the script yourself instead of copy and pasting. Or copy to notepad, erase the quotes and then put the quotes back. then copy that and paste to cmd. Sounds silly but it is a known issue.
answered Nov 6, 2013 at 0:44
jmc302005jmc302005
7314 silver badges9 bronze badges
0
You’ve to use the Escape-Sign ^ for some other signs like this:
FORFILES /P "%WINDIR%servicingPackages" /M "Microsoft-Windows-InternetExplorer-*9.*.mum" /c "cmd ^/c echo ^"Uninstalling package @fname^" ^&^& start ^/w pkgmgr ^/up:@fname ^/norestart"
Than it should work. I don’t try it with your line, but got the same error sometimes.
answered Feb 21, 2014 at 10:51
Есть код ниже. Компилятор говорит синтаксическая ошибка (тоже ниже). Но мне не совсем понятно, что именно не так. Создал шаблонный класс ParagraphTests
, внутри него в методе FailsOnInvalidParameters
пользуюсь статическим шаблон-методом Create
из класса Paragraph
.
Файл ParagraphTests.h:
#pragma once
#include <cassert>
#include "ConfigableTests.h"
template <typename T>
class ParagraphTests : public ConfigableTests
{
public:
ParagraphTests(OutputConfig config);
void FailsOnInvalidParameters(const wchar_t* const text);
};
template<typename T>
inline ParagraphTests<T>::ParagraphTests(OutputConfig config) : ConfigableTests(config)
{
}
template<typename T>
inline void ParagraphTests<T>::FailsOnInvalidParameters(const wchar_t* const text)
{
try
{
/*** ВОТ ЗДЕСЬ ОШИБКА ***/
T* paragraph = Paragraph::Create<T>(text, Config);
delete paragraph;
}
catch (int e)
{
return;
}
assert(false && "FailsOnInvalidParameters");
}
Файл Paragraph.h (удалил ненужные для этого вопроса поля и методы):
#pragma once
#include <cstdio>
#include "OutputConfig.h"
class Paragraph
{
public:
virtual ~Paragraph() = default;
public:
/*** ВОТ ОН ***/
template <typename T>
static T* Create(const wchar_t* const text, OutputConfig config);
void Init(const wchar_t* const text, OutputConfig config);
};
/*** ВОТ ОН ***/
template<typename T>
inline T* Paragraph::Create(const wchar_t* const text, OutputConfig config)
{
T* paragraph = new T();
paragraph->Init(text, config);
return paragraph;
}
Возникающая ошибка:
1>CodeTests.cpp
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(26,29): error C7510: "Create": при использовании зависимого имени шаблон необходимо указать префикс "шаблон"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,2): error C3878: синтаксическая ошибка: непредвиденный маркер "catch" после "try_block"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,2): message : пропущено восстановление ошибки: "catch"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): error C2760: синтаксическая ошибка: непредвиденный элемент "идентификатор". Ожидается "выражение"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): error C3878: синтаксическая ошибка: непредвиденный маркер "идентификатор" после "expression"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): message : пропущено восстановление ошибки: "идентификатор"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): error C2760: синтаксическая ошибка: непредвиденный элемент ")". Ожидается ";"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): error C3878: синтаксическая ошибка: непредвиденный маркер ")" после "expression_statement"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): message : пропущено восстановление ошибки: ")"
1>Header.cpp
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSHeader.cpp(90,45): warning C4267: аргумент: преобразование из "size_t" в "const int"; возможна потеря данных
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSHeader.cpp(115,54): warning C4267: аргумент: преобразование из "size_t" в "const int"; возможна потеря данных
1>HeaderTests.cpp
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(26,29): error C7510: "Create": при использовании зависимого имени шаблон необходимо указать префикс "шаблон"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,2): error C3878: синтаксическая ошибка: непредвиденный маркер "catch" после "try_block"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,2): message : пропущено восстановление ошибки: "catch"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): error C2760: синтаксическая ошибка: непредвиденный элемент "идентификатор". Ожидается "выражение"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): error C3878: синтаксическая ошибка: непредвиденный маркер "идентификатор" после "expression"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): message : пропущено восстановление ошибки: "идентификатор"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): error C2760: синтаксическая ошибка: непредвиденный элемент ")". Ожидается ";"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): error C3878: синтаксическая ошибка: непредвиденный маркер ")" после "expression_statement"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): message : пропущено восстановление ошибки: ")"
1>Paragraph.cpp
1>ParagraphTests.cpp
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(26,29): error C7510: "Create": при использовании зависимого имени шаблон необходимо указать префикс "шаблон"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,2): error C3878: синтаксическая ошибка: непредвиденный маркер "catch" после "try_block"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,2): message : пропущено восстановление ошибки: "catch"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): error C2760: синтаксическая ошибка: непредвиденный элемент "идентификатор". Ожидается "выражение"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): error C3878: синтаксическая ошибка: непредвиденный маркер "идентификатор" после "expression"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,13): message : пропущено восстановление ошибки: "идентификатор"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): error C2760: синтаксическая ошибка: непредвиденный элемент ")". Ожидается ";"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): error C3878: синтаксическая ошибка: непредвиденный маркер ")" после "expression_statement"
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(29,14): message : пропущено восстановление ошибки: ")"
Здесь, как я понял, всё-таки основными являются эти ошибки:
1>CodeTests.cpp
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(26,29): error C7510: "Create": при использовании зависимого имени шаблон необходимо указать префикс "шаблон"
1>HeaderTests.cpp
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(26,29): error C7510: "Create": при использовании зависимого имени шаблон необходимо указать префикс "шаблон"
1>ParagraphTests.cpp
1>D:ProgsC++SalnikovMSUProject1Project1_VSProject1_VSParagraphTests.h(26,29): error C7510: "Create": при использовании зависимого имени шаблон необходимо указать префикс "шаблон"
808
чатов
React — русскоговорящее с…
Binance Russian
Android Developers
Python
Vue.js — русскоговорящее …
supapro.cxx
GNU/Linux Help
DotNetRuChat
Telegram Developers
Node.js — русскоговорящее…
DevOps — русскоговорящее …
JavaScript Noobs — сообще…
Django [ru]
Go-go!
ntwrk
Angular — русскоговорящее…
Верстка сайтов HTML/CSS/J…
phpGeeks
Kubernetes — русскоговоря…
MODX. Русскоязычное сообщ…
Смотреть еще
phpGeeks
Ravshan
Gafurov
более ‘
1’ раз(а).
Введите «TIMEOUT /?» для получения справки по использованию.
russian
programming
php
12:03 27.03.2019
1
ответов
voodoo
ты шо тратата) на винде конечно это по другому работает
12:06 27.03.2019
Похожие вопросы
phpGeeks
Some
Body
Всем привет, друзья. А вы соблюдаете какой-либо порядок при написании методов в классе? Например, сначала public, потом protected, потом private? И т.д…
russian
programming
php
2
08:26 17.06.2023
phpGeeks
Владислав
Субботин
Где? В котором месте?
russian
programming
php
6
12:37 16.06.2023
phpGeeks
Владислав
Субботин
То есть, ты серьёзно решил, что я утверждаю, что macOS — лучшая ОС в мире? Пожалуйста, почини детектор сарказма
russian
programming
php
4
09:17 16.06.2023
phpGeeks
Владимир
Ребят подскажите как переписать код для php8.2 если там each не работает?
while (list($key, $value) = each($languages[‘result’]))
{
$lang .= $value[‘name’];
}
russian
programming
php
3
12:41 16.06.2023
phpGeeks
Евгений
Градус
а представь, я нубас, который не шарит в автомобилях, что мне выбирать?
russian
programming
php
2
09:56 16.06.2023
phpGeeks
Евгений
Градус
последователь байеса?
russian
programming
php
2
15:33 16.06.2023
phpGeeks
Евгений
Градус
ядро скомпилить?
russian
programming
php
2
15:54 16.06.2023
phpGeeks
Владислав
Субботин
macOS, конечно, а ты про какую подумал?
russian
programming
php
1
09:14 16.06.2023
phpGeeks
Евгений
Градус
поэтому первый дистр линукса — какой должен быть? я, как нубас, не могу сам его выбрать, я не шарю
russian
programming
php
1
09:58 16.06.2023
phpGeeks
Евгений
Градус
а декстоп — зачем? что там будет такого, чего не будет в винде или на маке
russian
programming
php
1
10:03 16.06.2023
Смотреть еще