cmd查看程序是否安装
How to check if programm installed with cmd
@echo off
color 06
title created by AAIE
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
choco install youtube-dl
set /p input="Enter Link For Playlist:"
set /p index="Enter Index For videos Seprated by ',':"
mkdir playlist_videos
cd playlist_videos
youtube-dl --playlist-items %index% %input%
如何检查windows中是否安装了choco或youtube_dl或者主要问题是什么条件我需要检查它是否为真然后如果没有安装则直接使用命令它将安装它们
并使用相同的命令
以下是使用 where
根据结果定位和执行操作的一些示例:
@echo off
(where choco.exe)>nul 2>&1
if errorlevel 1 (
echo Choco not installed. Installing now..
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
)
choco install youtube-dl
set /p input="Enter Link For Playlist:"
set /p index="Enter Index For videos Seprated by ',':"
mkdir playlist_videos
cd playlist_videos
youtube-dl --playlist-items %index% %input%
或使用条件运算符:
@echo off
(where choco.exe)>nul 2>&1 && goto :installed || goto :install
:install
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
:installed
choco install youtube-dl
set /p input="Enter Link For Playlist:"
set /p index="Enter Index For videos Seprated by ',':"
mkdir playlist_videos
cd playlist_videos
youtube-dl --playlist-items %index% %input%
请注意,这些都是直接的示例,没有内置的错误处理,例如 coco 安装失败时发生的情况等。
根据你在 2>&1 >nul
上的问题
stdout
(重定向时显示为 1>
)是命令的输出流,其中 stderr
(重定向时显示为 2>
。)
当执行 >nul
或 > file.txt
时,我们有效地将命令的输出重定向到 nul
(在控制台上看不到)或文件(用于记录目的),但不是所有内容默认转到 stdout
流。所以我们需要将 stderr 流重定向到 stdout,然后将 stdout
重定向到 nul
或一个文件。
显然您也可以独立重定向。
commandname 1>out.log 2>error.log
@echo off
color 06
title created by AAIE
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
choco install youtube-dl
set /p input="Enter Link For Playlist:"
set /p index="Enter Index For videos Seprated by ',':"
mkdir playlist_videos
cd playlist_videos
youtube-dl --playlist-items %index% %input%
如何检查windows中是否安装了choco或youtube_dl或者主要问题是什么条件我需要检查它是否为真然后如果没有安装则直接使用命令它将安装它们 并使用相同的命令
以下是使用 where
根据结果定位和执行操作的一些示例:
@echo off
(where choco.exe)>nul 2>&1
if errorlevel 1 (
echo Choco not installed. Installing now..
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
)
choco install youtube-dl
set /p input="Enter Link For Playlist:"
set /p index="Enter Index For videos Seprated by ',':"
mkdir playlist_videos
cd playlist_videos
youtube-dl --playlist-items %index% %input%
或使用条件运算符:
@echo off
(where choco.exe)>nul 2>&1 && goto :installed || goto :install
:install
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
:installed
choco install youtube-dl
set /p input="Enter Link For Playlist:"
set /p index="Enter Index For videos Seprated by ',':"
mkdir playlist_videos
cd playlist_videos
youtube-dl --playlist-items %index% %input%
请注意,这些都是直接的示例,没有内置的错误处理,例如 coco 安装失败时发生的情况等。
根据你在 2>&1 >nul
stdout
(重定向时显示为 1>
)是命令的输出流,其中 stderr
(重定向时显示为 2>
。)
当执行 >nul
或 > file.txt
时,我们有效地将命令的输出重定向到 nul
(在控制台上看不到)或文件(用于记录目的),但不是所有内容默认转到 stdout
流。所以我们需要将 stderr 流重定向到 stdout,然后将 stdout
重定向到 nul
或一个文件。
显然您也可以独立重定向。
commandname 1>out.log 2>error.log