Ich habe ein Skript, das Assembler verwendet und soll Programm für einige asm TestsUnerwartete Klammer ')' in Batch
rem @echo off
setlocal enabledelayedexpansion
set REPO_PATH=%~dp0..
set INSTALL_PATH=%REPO_PATH%\bin
set TEST_DIR=%REPO_PATH%\testing_system
set TEST_LIST=%TEST_DIR%\file_list_linux.lst
set WS=%TEST_DIR%\WS
set QEMU=%REPO_PATH%\qemu\ppdl-linux-user\qemu-ppdl.exe
if not exist %QEMU% (
echo Warning: %QEMU% not found, use %INSTALL_PATH%\qemu\qemu-ppdl
set QEMU=%INSTALL_PATH%\qemu\qemu-ppdl
)
set assembler=%TEST_DIR%\toolset\asm.exe
set linker=%TEST_DIR%\toolset\nmc-ld.exe
set arch_flags=-nmc4
if %REPO_PATH% equ "" (set cond=1)
if %INSTALL_PATH% equ "" (set cond=1)
if cond equ 1 (
::echo "Usage: ./run_tests.sh path-to-repo path-to-install-dir"
echo Usage: run run_tests.bat only from 'testing_system' dir
exit /b 1
)
if not exist %QEMU% (
echo Error: %QEMU% not found
exit /b 1
)
%assembler% %arch_flags% %TEST_DIR%\caller.asm -o caller.elf
if errorlevel 1 (
set res=1
echo Error: caller.asm assembler error
exit /b 1
)
for /f "tokens=*" %%t in (%TEST_LIST%) do (
set test_path=%TEST_DIR%\emutest\%%t
...
)
Und wenn cmd läuft, sagt Unexpected appearance ')'
nur nach der Verarbeitung exit /b 1)
(vor for
Anweisung)
ich nicht sehen, wo ich jede Klammer verpasst haben, aber ich weiß, es ist ein Fehler mit ihnen ist, weil, wenn ich %assembler% %arch_flags% %TEST_DIR%\caller.asm -o caller.elf
laufen es gibt
Assembler for NM6403-05 v1.75. (c) 1996-2008, RC Module. All rights reserved.
Konnte es von dieser (c)
ausgegeben werden oder ich vermisse etwas einfacher?
Ihre variablen Tests wie 'if% REPO_PATH% equ" "' sind gebrochen, wie Sie ein Verzeichnis mit der Zeichenkette '" "' vergleichen, das kann nicht nie wahr sein. Ändere es in 'if"% REPO_PATH% "equ" "'. Und zeigen Sie uns alle Ihre Verzeichnisse, ich nehme an, dass eine enthält ')' wie in 'C: \ Programme (x86)' – jeb
Also Sie sagen, die 'exit/b 1' läuft und dann erhalten Sie den Fehler? Wenn dem so ist, kommt es nicht einmal zur Aussage "für". Rufen Sie diese Batchdatei aus einer anderen Batchdatei auf? – aphoria
@jeb danke, ich sollte dies auch beheben – mechanic