GCP计算引擎WS 2012.启动脚本在启动后不运行我的.exe文件

时间:2018-03-14 19:41:31

标签: google-cloud-platform virtual-machine google-compute-engine startupscript

运行WS 2012的My GCP Compute Engine实例在使用启动脚本时不执行可执行命令。

所遵循的步骤摘要:

  1. 我使用WS 2012创建了一个Compute Engine实例。

  2. 使用value =`" c:/prog/1.exe"设置元数据键windows-startup-script-cmd

  3. 将所有需要的文件复制到本地磁盘。(确切文件夹c:/ prog /)。

  4. 关闭VM。 (通过GCP控制台)。

  5. 从GCP控制台启动实例。

  6. 似乎命令" c:/prog/1.exe"没跑

    我看到" 1.exe"进程在任务管理器中运行但它没有做任何事情。 (它应该创建一个特定的文件来表明它成功运行。)

    请告诉我,如果我做错了,或者我错过了什么。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

windows-startup-script-cmd是在Windows实例上运行cmd startup scripts的元数据键。 cmd startup scripts是具有.cmd.bat扩展名的#include <SoftwareSerial.h> #define IR 10 // IR sensor at D10 position #define pirPin 9 // Input for HC-S501 #define LEDPinPIR 12 // LED at Pin 12 (PIR) #define lightLED 11 // LED at Pin 11 (Relay, Neg.Logic - ON = Relay off) SoftwareSerial xbee(2, 3); // RX, TX int pirValue; // Place to store read PIR Value int pirNum = 0; int pirNumyes = 0; int pirNumno = 0; int sw_door = 0; //sw_door has been updated to "sw_relay" w.e.f 27-Feb-2018 int IR_val = 0; char incomingByte; unsigned long prevMillis = 0; void setup() { Serial.begin(9600); xbee.begin(9600); pinMode(pirPin, INPUT); // PIR sensor pinMode(LEDPinPIR, OUTPUT); // Ultrasound sensor indicator pinMode(lightLED, OUTPUT); // LED at Pin 11 (Relay, Neg.Logic - ON = Relay off) pinMode(SW, INPUT); // Switch digitalWrite(SW, LOW); digitalWrite(LEDPinPIR, LOW); } void loop() { unsigned long currentMillis = millis(); if((unsigned long)currentMillis - prevMillis == 1000){ //IR sensor "d" refers to door if (digitalRead(IR) == LOW){ IR_val = 1; String ID = "d"; String IRID = ID + IR_val; Serial.print(IRID); Serial.print(','); xbee.print(IRID); xbee.print(','); } else{ IR_val = 0; String ID = "d"; String IRID = ID + IR_val; Serial.print(IRID); Serial.print(','); xbee.print(IRID); xbee.print(','); } // Motion sensor pirValue = digitalRead(pirPin); if (pirValue == HIGH) { pirNumyes = 1; Serial.print(pirNumyes); Serial.print(','); xbee.print(pirNumyes); xbee.print(','); digitalWrite(LEDPinPIR, HIGH); } else { pirNumno = 0; Serial.print(pirNumno); Serial.print(','); xbee.print(pirNumno); xbee.print(','); digitalWrite(LEDPinPIR, LOW); } // Switch if(digitalRead(lightLED)== HIGH){ sw_door = 0; Serial.print(sw_door); Serial.println(','); xbee.print(sw_door); xbee.println(','); } else{ sw_door = 1; Serial.print(sw_door); Serial.println(','); xbee.print(sw_door); xbee.println(','); } prevMillis = currentMillis; } // Xbee to Arduino Added: 18-Feb-2018 if (xbee.available()){ incomingByte = xbee.read(); if(incomingByte == '1'){ digitalWrite(lightLED, HIGH); //xbee.println("OK"); } else if(incomingByte == '0'){ digitalWrite(lightLED, LOW); //xbee.println("OK"); } } } 。您可以通过批处理文件运行可执行文件。怎么样?访问stackoverflow上的this answer