![在 autoit 中创建批处理文件](https://linux22.com/image/1613258/%E5%9C%A8%20autoit%20%E4%B8%AD%E5%88%9B%E5%BB%BA%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6.png)
我检查了我的文件
MsgBox($MB_SYSTEMMODAL, "", "Contents of the file:" & @CRLF & $sFileRead)
所以我知道我已成功创建文件
但是当我想.bat
通过将其移动到垃圾.bat
文件中来更改它时(其他人可能有更好的方法)我收到错误。
$CMD = "move "$sFilePath" " & $jointpath & @CRLF
RunWait(@ComSpec & " /c " & $CMD)
我明白
error: syntax error
整个函数如下:
Func makeJointBat()
Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)
FileWrite($sFilePath, "you don't need to know what i wrote there")
Local $hFileOpen = FileOpen($sFilePath, $FO_READ)
Local $sFileRead = FileRead($hFileOpen)
FileClose($hFileOpen)
$CMD = "move "$sFilePath" " & $jointpath & @CRLF
RunWait(@ComSpec & " /c " & $CMD)
EndFunc ;==>makeJointBat
答案1
问题可能是您似乎打开了文件两次:一次是在创建文件时,然后另一次是在读取文件时。
但是,您仅关闭它一次。
在和FileClose
之间添加可能有助于解决问题。FileWrite
FileOpen