【发布时间】:2020-05-14 17:02:57
【问题描述】:
我在 BATCH FILE 的开头创建了以下目录来存储临时内容:
"%userprofile%\Downloads\VersionCheckWillDelete"
我希望删除此文件夹及其所有内容。
以下内容仅删除文件夹中的数据,而不删除文件夹本身:
RD /S /Q "%userprofile%\Downloads\VersionCheckWillDelete"
编辑:原来它没有删除它,因为 BATCH 文件仍在使用它。我考虑过 POWERSHELL 仍然打开并试图杀死它,但它没有打开。如何在后台关闭它。它不需要再运行了吗? “该进程无法访问该文件,因为它正被另一个进程使用。”
以下是我的代码:
@echo off
:version_chk
SET USER_VER=1.1.2-RC
ECHO * * * * * * * * * * * * *
ECHO CHECKING FOR UPDATES...
ECHO * * * * * * * * * * * * *
cd "%userprofile%\Downloads"
mkdir "%userprofile%\Downloads\VersionCheckWillDelete"
cd "%userprofile%\Downloads\VersionCheckWillDelete"
powershell -Command "Invoke-WebRequest https://github.com/KSanders7070/AIRPORT_ALIAS_CREATION/blob/master/Version_Check -OutFile 'version_check.HTML'"
findstr "VERSION-" "version_check.HTML" >> "GitHub_Version.txt"
cd "%userprofile%\Downloads\VersionCheckWillDelete"
for /f "delims=" %%x in (GitHub_Version.txt) do set GH_VER_STRING_ORIGINAL=%%x
for /f "tokens=2 delims=<" %%x in ("%GH_VER_STRING_ORIGINAL%") do set GH_VER_STRING_FIRST_HALF=%%x
SET "GH_VER=%GH_VER_STRING_FIRST_HALF:*VERSION-=%"
if %USER_VER% == %GH_VER% GOTO NORMAL_PROCESS
:UPDATE_AVAIL
CLS
START "" "https://github.com/KSanders7070/AIRPORT_ALIAS_CREATION/releases"
ECHO * * * * * * * * * * * * *
ECHO UPDATE AVAILABLE
ECHO * * * * * * * * * * * * *
ECHO.
ECHO.
ECHO GITHUB VERSION: %GH_VER%
ECHO YOUR VERSION: %USER_VER%
ECHO.
ECHO.
ECHO PLEASE CLOSE THIS BATCH FILE AND GO DOWNLOAD THE MOST RECENT UPDATE AVAILABLE:
ECHO.
ECHO https://github.com/KSanders7070/AIRPORT_ALIAS_CREATION/releases
ECHO.
ECHO.
ECHO OR YOU MAY PRESS ANY KEY TO CONTINUE USING THIS VERSION.
ECHO.
ECHO.
cd "%userprofile%\Downloads"
rd /S /Q "%userprofile%\Downloads\VersionCheckWillDelete\"
PAUSE
:NORMAL_PROCESS
CLS
cd "%userprofile%\Downloads"
rd /S /Q "%userprofile%\Downloads\VersionCheckWillDelete\"
ECHO Your BATCH file is the most up to date version.
PAUSE
【问题讨论】:
标签: batch-file