从Windows命令提示符

时间:2017-03-16 19:08:14

标签: windows batch-file cmd bluetooth

在Windows中,您可以通过右键单击文件并选择发送至>来启动文件的蓝牙传输。 蓝牙设备。出现蓝牙文件传输框,然后选择要发送到的设备。我发现通过拖放您要发送到C:\Windows\system32\fsquirt.exe的文件,我可以达到同样的效果。

要弄清楚当您使用发送到或拖放时Windows如何将文件传递给程序,我编写了以下Python脚本并在C:\Users\<username>\AppData\Roaming\Microsoft\Windows\SendTo中放置了一个快捷方式。快捷方式的Start In目录是.py文件的包含目录。 (我使用的是Python 3.6。)

#!python3
import os, sys
print(os.getcwd())
print(sys.argv)
input("Press Enter to exit...")

当我将文件拖放到快捷方式或脚本本身上时,右键单击文件并选择发送到&gt;新的快捷方式,在所有三种情况下都会发生同样的事情:在第一行,Python打印出.py文件的包含目录,在第二行,Python打印出一个repr的包含两个元素的列表:.py文件的绝对路径和我选择的文件的绝对路径。

我编写了以下批处理文件进行测试:

cd C:\folder\of\py\file\
C:\folder\of\py\file\argv_dump.py "C:\path\to\a\file.txt"

当我从命令提示符运行此批处理文件或在Windows资源管理器中双击它时,我从之前获得相同的输出。在第一行,Python打印出.py文件的包含目录,在第二行,Python打印出包含两个元素的列表的repr:{{1的绝对路径文件和.py

现在,我正尝试从脚本启动Windows 10上的蓝牙传输。我写了一个三行批处理文件进行测试:

C:\path\to\a\file.txt

这似乎不会将cd C:\Windows\system32\ C:\Windows\system32\fsquirt.exe "C:\path\to\a\file.txt" pause 发送给"C:\path\to\a\file.txt"。出现蓝牙文件传输对话框,但它仍然要求我选择要发送的文件。在命令提示符窗口中运行这些命令会产生相同的结果。

fsquirt.exe如何知道拖放或使用发送到之间的区别,以及当我从批处理文件或命令提示符手动传递绝对文件路径时?如何让fsquirt.exe注意到我提供的文件路径?

我确实查看了this other question,建议检查批处理文件的当前工作目录。但是fsquirt.exe我的批处理文件中不会处理这个问题吗?

1 个答案:

答案 0 :(得分:0)

过去,我通过蓝牙安装程序使用了Bluetooth Command Line Tools。他们允许我通过Windows命令行自动化蓝牙工作流程。