ПОВТОРЕНИЕ путей в партии

Так, у меня есть проблемы при ПОВТОРЕНИИ одной из линий к файлу. Кодекс следующие:

IF NOT EXIST "%rutaSteamIdle%\tf2idle.ini" (
(
ECHO [Settings]
ECHO steam_location = C:\Program Files (x86)\Steam
ECHO secondary_steamapps_location = 
ECHO sandboxie_location = C:\Program Files\Sandboxie
ECHO api_key = 02FE9AB5998EA5F8A3E0DA7C4C47F3C7
ECHO backpack_viewer = Backpack.tf
ECHO launch_options = +exec idle.cfg -textmode -nosound -low -novid -nopreload -nojoy -sw +sv_lan 1 -width 640 -height 480 +map itemtest
ECHO launch_delay_time = 120
ECHO log_file_formatting = {date}, {time}, {itemtype}, {item}, {id}, {account}{nline}
ECHO easy_sandbox_mode = no
ECHO sys_tray_notifications = hats,tools
ECHO close_to_tray = False
ECHO log_web_view = On
ECHO log_web_view_port = 5000
ECHO ui_no_of_columns = 2
ECHO ui_window_size = (1024, 768)
ECHO ui_account_box_font_size = 12
ECHO ui_account_box_icon_size = 40
ECHO ui_account_box_icon = 
ECHO ui_log_entry_toggles = system,hats,weapons,tools,crates
ECHO log_poll_time = 1
ECHO ui_log_background_colour = 000000
ECHO ui_log_font_colour = FFFFFF
ECHO ui_log_font_size = 12
ECHO ui_log_font_family = TF2 Build
ECHO ui_log_font_style = 0
ECHO ui_log_font_weight = 50
ECHO ui_log_font_strikeout = False
ECHO ui_log_font_underline = False
)>>"%rutaSteamIdle%\tf2idle.ini"
)

Управляя этим, я 'высвечен' (cmd окно остается открытым в течение секунды прежде, чем закрыть себя), следующая ошибка:

\Steam was unexpected at this time.

Я пропускаю что-то здесь? Если я делаю линию как это:

ECHO steam_location = "C:\Program Files (x86)\Steam"

Это ОТЗЫВАЕТСЯ ЭХОМ правильно, но печально это - что-то, что я не могу сделать.

0
nl ja de

2 ответы

Это вызвано тем, что Путь, чтобы Двигаться содержит закрывающую скобку. Необходимо избежать его как это:

ECHO steam_location = C:\Program Files (x86^)\Steam

cmd's parser isn't very nice with those things. This is inside a parenthesised block and thus the first unescaped (or unquoted, but quoting doesn't work here since echo will output the quotes as well) closing parenthesis will end the block. And the part after that in the same line will be interpreted as the next command, in this case \Steam which leads to the error message you got.

1
добавлено
Спасибо! Это было тем, что я пропускал.
добавлено автор user2020618, источник

Можно также попробовать это...

SET "steam_location=C:\Program Files (x86)\Steam"
ECHO %steam_location%

это даст вам продукцию как

C:>ECHO C:\Program Files (x86)\Steam

C:\Program Files (x86)\Steam

Я надеюсь, что это работает:)

0
добавлено
Это не поможет в контексте введенного оператора IF. Это работало бы если задержанное расширение ! steam_location! используется вместо этого.
добавлено автор dbenham, источник