3 votes

Créer un fichier batch en AutoIt

J'ai vérifié mon fichier avec

MsgBox($MB_SYSTEMMODAL, "", "Contenu du fichier:" & @CRLF & $sFileRead)

donc je sais que j'ai créé le fichier avec succès

mais lorsque je veux le changer en .bat en le déplaçant dans un fichier .bat bidon (d'autres personnes ont probablement une meilleure façon de le faire), j'obtiens une erreur.

$CMD = "move "$sFilePath" " & $jointpath & @CRLF
RunWait(@ComSpec & " /c " & $CMD)

je reçois

erreur: erreur de syntaxe

voici toute la fonction:

Func makeJointBat()
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)
    FileWrite($sFilePath, "vous n'avez pas besoin de savoir ce que j'ai écrit ici")
    Local $hFileOpen = FileOpen($sFilePath, $FO_READ)
    Local $sFileRead = FileRead($hFileOpen)
    FileClose($hFileOpen)
    $CMD = "move "$sFilePath" " & $jointpath & @CRLF
    RunWait(@ComSpec & " /c " & $CMD)
EndFunc   ;==>makeJointBat

0 votes

Essayez de supprimer ce & @CRLF à la fin de la commande $CMD = ...

3voto

harrymc Points 394411

Le problème pourrait être que vous semblez ouvrir le fichier deux fois : une fois lors de sa création, puis à nouveau lors de sa lecture.

Cependant, vous ne le fermez qu'une seule fois.

Ajouter un FileClose entre le FileWrite et le FileOpen pourrait aider avec le problème.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X