最近需要批量转换视频格式,看了看bat脚本的语法,%分号看的我头疼,个人感觉还是java和python的语法更加优美。
翻了半天教程,终于搞好了这个脚本,请品鉴。
核心方法就是cmd了,用的时候直接调用就好了。executable是你的shell的路径,这里我使用的是powershell,如果你只需要自带的shell,删掉这个参数就好了。
import subprocess
def cmd(command):
global my_cwd
r = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
executable="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", cwd=my_cwd)
r.wait()
if r.returncode == 0 and command.split(" ")[0] == "cd":
my_cwd = command.split(" ")[1]
elif r.returncode == 1:
print("命令错误")
word = r.communicate()[0].decode("gbk")
if len(word) == 0:
pass
else:
print(word.strip())
if __name__ == '__main__':
my_cwd = "C:\\"
while True:
a = input("路径:" + my_cwd + "\n请输入命令:")
if a == "stop":
break
cmd(a)