【问题标题】:Show all hidden folders and files on my USB pendrive显示我的 USB 随身碟上的所有隐藏文件夹和文件
【发布时间】:2016-03-14 10:11:26
【问题描述】:

我想改进我的批处理文件以显示我的 USB 随身碟的所有隐藏文件夹和文件! 所以;我的问题是如何知道我的变量 !MyUSB! 是否已定义以继续进入我的脚本或在未定义的情况下退出?

这是我的代码:

@echo off
cls & color 0A & echo.
Mode con cols=75 lines=7
Title Show all hidden folders and files on your USB key by Hackoo 2016
:::::::::::::::::::::::::::::::::::::::::
:: Automatically check & get admin rights
:::::::::::::::::::::::::::::::::::::::::
REM  --> Check for permissions
Reg query "HKU\S-1-5-19\Environment">nul 2>&1
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
Echo.
ECHO                    **************************************
ECHO                     Running Admin shell... Please wait...
ECHO                    **************************************

    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    set params = %*:"=""
    echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
::::::::::::::::::::::::::::
::START
::::::::::::::::::::::::::::
setlocal ENABLEDELAYEDEXPANSION
Set TmpLog=Tmp.txt
Set Log=USBCopyLog.txt
If exist %TmpLog% Del %TmpLog%
If exist %TmpLog% Del %TmpLog%
for /f "tokens=2" %%i in ('wmic logicaldisk where "drivetype=2" ^|find /i ":"') do (echo %%i && Set MyUSB=%%i)
cls
echo.
echo           #########################################################
echo                  Votre cle usb connecte en tant que !MyUSB!
echo           #########################################################
echo.
pause
cls
If Defined !MyUSB! && Attrib -s -h -r !MyUSB!\*.* /S /D >> !TmpLog! 2>&1 || Exit /b
Cmd /U /C Type !TmpLog! > !Log!
Explorer "!MyUSB!\"

【问题讨论】:

  • if /?。特别是if defined。你应该用你正在使用的语言学习编程。批处理用于删除或复制文件和启动程序。我在 1985 年从 REXX 转到了 batch。
  • 你不能只在开头使用set "MyUSB="if "!MyUSB"=="" 来检查它是否已定义。

标签: batch-file vbscript cmd


【解决方案1】:

我认为这段代码有效:

@echo off
cls & color 0A & echo.
Mode con cols=75 lines=7
Title Show all hidden folders and files on your USB key by Hackoo 2016
:::::::::::::::::::::::::::::::::::::::::
:: Automatically check & get admin rights
:::::::::::::::::::::::::::::::::::::::::
REM  --> Check for permissions
Reg query "HKU\S-1-5-19\Environment">nul 2>&1
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
Echo.
ECHO                    **************************************
ECHO                     Running Admin shell... Please wait...
ECHO                    **************************************

Goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    set params = %*:"=""
    echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
::::::::::::::::::::::::::::
::START
::::::::::::::::::::::::::::
Set TmpLog=%tmp%\Tmp.txt
Set Log=%tmp%\USBLog.txt
If exist %TmpLog% Del %TmpLog%
for /f "tokens=2" %%i in ('wmic logicaldisk where "drivetype=2" ^|find /i ":"') do (Set MyUSB=%%i)
cls
setlocal ENABLEDELAYEDEXPANSION
set _drive=%MyUSB%
If Exist !_drive! (
cls
echo.
echo           #########################################################
echo                        Your usb key is connected as !_drive!
echo           #########################################################
echo.
pause
Attrib -s -h -r !_drive!\*.* /S /D >> !TmpLog! 2>&1
Cmd /U /C Type !TmpLog! > !Log!
If exist !TmpLog! Del !TmpLog!
Explorer "!_drive!\"
) ELSE (
cls
color 0C
echo.
echo           #########################################################
echo                         Your usb key is not detected
echo           #########################################################
echo.
pause
Exit
) 

【讨论】:

    猜你喜欢
    • 2016-01-22
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 2020-06-20
    • 1970-01-01
    • 2012-10-24
    相关资源
    最近更新 更多