Can';t将文件名作为参数传递给我的python脚本

Can';t将文件名作为参数传递给我的python脚本,python,windows,contextmenu,Python,Windows,Contextmenu,我无法从上下文菜单将文件名作为参数传递给python脚本。相反,它只传递到我运行脚本的文件夹的路径 我花了好几天的时间想弄明白,但都没有成功 我已经创建了一个批处理文件,其中包含python.exe的完整路径和要运行的脚本的第二个路径 "C:\Users\scurs\AppData\Local\Programs\Python\Python37-32\python.exe" "C:\TestScripts\PythScripts\Renamer\BatTest.py" pause 使用默认程序

我无法从上下文菜单将文件名作为参数传递给python脚本。相反,它只传递到我运行脚本的文件夹的路径

我花了好几天的时间想弄明白,但都没有成功

  • 我已经创建了一个批处理文件,其中包含python.exe的完整路径和要运行的脚本的第二个路径

    "C:\Users\scurs\AppData\Local\Programs\Python\Python37-32\python.exe" "C:\TestScripts\PythScripts\Renamer\BatTest.py"
    pause
    

  • 使用默认程序编辑器,我将.bat文件添加到上下文菜单中 [.bat文件完整路径与“%1”]

  • 在随机目录中,右键单击该文件后,我从上下文菜单中选择了我的bat脚本 [右键单击所选文件并从关联菜单运行我的脚本]

  • CMD窗口打开,仅显示运行脚本的目录的完整路径 [仅带文件夹路径的cmd窗口]

  • 我正在尝试编写一个脚本,它将用空白(只是黑色画布)替换所选图片(或多张图片),但保留原始名称

    我希望我的脚本能够复制选定文件的名称,然后从脚本文件夹中复制“空白”图像,并重命名为选定文件并替换原始文件

    无法使脚本读取文件名

    我的第一本python书读了一半,因此缺乏知识

    问候


    维克多

    你没有通过任何ARG。暂停是一个命令
    sys.argv[0]
    是脚本名称。如果第一批必须使用
    %1
    运行带有参数的脚本-
    python.exe script.py%1
    ,在python脚本中,应将其命名为
    sys.argv[1]
    。但是在你得到
    sys.argv[1]
    之前检查
    如果len(sys.argv)>1:
    是很好的,谢谢你,先生,@CristiFati,那么我应该删除“暂停”还是用其他东西代替它?非常感谢你们!全部排序!
    import sys    
    file ='%s' %sys.argv[0]  
    print(file)