nircmd mediaplay:访问被拒绝

时间:2017-12-31 03:44:11

标签: batch-file nircmd

我正在尝试制作一个bat文件,启动时会打开一个媒体文件并在x-mill毫秒后关闭。

  

mediaplay [播放时间] [音频文件]

我正在尝试使用nircmd的媒体播放命令,但它无法识别它。我在cmd中尝试了以下代码。

C:\Users\Lind>mediaplay 10000 "C:\Users\Lind\Music\1.mp3"
'mediaplay' is not recognized as an internal or external command,
 operable program or batch file.

我也试过这个,但没有发生任何事情

C:\Users\Lind>nircmd.exe mediaplay 10000 "C:\Users\Lind>Music>1.mp3"

********* ********更新****************************

我发现我在mp3文件目录名中犯了一个错误,现在只是说

C:\Users\Lind>nircmd.exe mediaplay 10000 "C:\Users\Lind>Music\1.mp3"

Access is denied.

我尝试过使用cmd作为管理员,但后来没有任何反应。

2 个答案:

答案 0 :(得分:1)

如果您未提供nircmd.exe的位置,则需要确保nircmd.exe位于当前目录或%PATH%下定义的位置:

以下是您的一个例子:

@Echo Off
Rem MediaPlay command
Set "mp="C:\Users\Lind\Utilities\NirSoft\nircmd.exe" MediaPlay"

Rem MusicFile location
Set "mf=C:\Users\Lind\Music\1.mp3"

Rem MilliSeconds
Set "ms=10000"

Rem Start it
Start "" %mp% %ms% "%mf%"

只需根据需要更改 = 后的三个Set语句的值(但不要删除或更改任何 { {1}} ' S)

注意: "nircmd.exe都被大多数防病毒/反恶意软件程序标记为潜在的安全威胁。如果您有其中一个,那么您必须查看是否可以在安全软件中运行它。

答案 1 :(得分:0)

为了执行任何外部命令(即任何不在cmd.exe内部的命令),您需要执行以下操作之一:

  1. 指定可执行文件的准确位置(例如,使用"c:\wherever\your\mediaplay\is located\mediaplay"代替mediaplay(如果路径或可执行文件名称包含空格之类的分隔符,则需要引号))

  2. mediaplay的目录名包含在path变量中。这可以通过使用Control Panel>System>Advanced System Settings>Advanced>Environment Variables永久性地完成,或者最好使用Path Editor之类的专用编辑器,或者通过在that path;前面添加path变量来临时使用mediaplayer。批量或手动提示。

  3. 使用三行“pushd mediaplayerdirectoryname ”,“mediaplayer ...”,“popd”(全部没有引号)

    导航到path目录>
  4. 最后一种方法是第二种方法的一种特殊情况,它使用windows的可执行搜索策略首先在当前目录中查找可执行文件,然后依次在function hasMatch( function , list) { // actually calling the function next line if (function (list)=== true ){ return true} else return false; } 变量中指定的每个目录中查找找到了可执行文件。