J'utilise le script ci-dessous pour automatiser certains processus qui faciliteraient ma vie professionnelle. Lors de l'exécution de cette version actuelle, elle est défectueuse et ferme le programme dès que la première instruction if est exécutée. J'ai fait un peu de recherche sur moi-même et le code semble être correct. Le programme s'est fermé si vite que je ne pouvais pas lire une raison pour laquelle. J'ai donc couru toutes les sorties dans un fichier txt. Il semble que le programme présente une erreur de syntaxe. Je n'ai malheureusement pas le fichier avec moi et je n'ai pas l'erreur exacte. Je peux poster demain quand il est devant moi.Si l'instruction dans le fichier batch ne s'exécute pas (Problème de syntaxe possible?)
::Turns off unnecessary messages from Command Prompt
echo off
::Copies files over from the NAS drive that are required for setup
echo Transfering files from NAS1...
if not exist "%userprofile%\Desktop\Install_Files" mkdir %userprofile%\Desktop\Install_Files
xcopy /Y \\nas1\Volume_1\"Tech Department"\"General Windows POS Preperation"\* "%userprofile%\Desktop\Install_Files"
echo File Transfer Complete
::Start installation of Foxit Reader
echo Installing Foxit Reader...
start /w %userprofile%\Desktop\Install_Files\"FoxitReader831_current version".exe
echo Installations Complete
::Changes background by changing the file pathway in the registry value
echo Setting Background...
REG ADD "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d %userprofile%\Desktop\Install_Files\NewTMS1024x768.jpg /f
::Changes the Workgroup and Computer Name
echo Setting Computer Name...
SET /P PCNAME=Please enter computer name:
wmic computersystem where "Name='%computername%'" rename "%PCNAME%"
echo Setting Workgroup...
SET /P WGNAME=Please enter workgroup name:
Wmic computersystem where name="%computername%" call joindomainorworkgroup name="%WGNAME%"
::Selecting which POS Software to install
SET /P POSNAME=Please enter POS Software to install (a:Aldelo m:MAPOS t:TRPOS):
if /i %POSNAME% == "m"
(
::Transfers required files from NAS drive to Install Folder
echo Transferring install files...
xcopy /Y \\nas1\Volume_1\"Tech Department"\"POS Software"\MAPOS\* "%userprofile%\Desktop\Install_Files"
::Installs MAPOS and Groovv SDK for card processing
echo Installing GroovvSDK...
start /w %userprofile%\Desktop\Install_Files\GroovvSDK_Client_Setup_v3.9.6
echo Installing MAPOS...
start /w %userprofile%\Desktop\Install_Files\mapos_install
)
if /i %POSNAME% == "t"
(
::Transfers required install file for TRPOS
echo Transferring install files...
xcopy /Y \\nas1\Volume_1\"Tech Department"\"POS Software"\TRPOS\TRPOS_install.exe "%userprofile%\Desktop\Install_Files"
::Installs TRPOS
start /w %userprofile%\Desktop\Install_Files\TRPOS_install.exe
)
if /i %POSNAME% == "a"
(
)
else
(
echo No POS Software selected or improper input
)
::Force restarts the computer so changes will take effect
::shutdown.exe /r /t 00
Veuillez fournir la sortie du script afin de savoir d'où provient l'erreur. –
"_Le programme s'est fermé si vite que je ne pouvais pas lire une raison pourquoi_" Ensuite, ouvrez une fenêtre d'invite de commande et exécutez-le à partir de là. Cela vous permet également d'ajouter des instructions 'echo' de débogage et de supprimer/commenter temporairement la commande' echo off'. En général, vous avez des doubles citations incohérentes. Spécifiquement, le "si n'existe pas" en haut du fichier créera la mauvaise chose si votre '% userprofile%' contient des espaces. – TripeHound