Batch file 成批回音路径

Batch file 成批回音路径,batch-file,Batch File,所以,我无法将其中一行回音到文件中。 代码如下: 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 = 02FE9A

所以,我无法将其中一行回音到文件中。 代码如下:

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"
ECHO steam_location = C:\Program Files (x86^)\Steam

它的回音正确,但遗憾的是,这是我无法做到的。

这是因为通往蒸汽的路径包含一个右括号。你需要像这样逃避它:

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

cmd
的解析器对这些东西不是很好。这是在一个带括号的块内,因此第一个不带引号的(或不带引号的,但引号在这里不起作用,因为
echo
也将输出引号)结束括号将结束块。同一行中其后的部分将被解释为下一个命令,在本例中,
\Steam
,这将导致您收到的错误消息。

您也可以尝试此

SET "steam_location=C:\Program Files (x86)\Steam"
ECHO %steam_location%
它将为您提供如下输出:

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

C:\ProgramFiles(x86)\Steam


我希望这能起作用:)

这在带括号的IF语句中没有帮助。如果延迟扩展
,它将工作!蒸汽发生器位置”。谢谢!这就是我所缺少的。