我有一個批處理文件,用於檢查登錄的用戶是否是特定用戶。無論我做什麼批處理文件總是在行上崩潰。我已經花了五個小時的時間,而且我已經完全縮小並改進了它們的命令,但它仍然不起作用。我會很感激我如何能得到它的工作有什麼建議(也,如果我做顯然愚蠢的,讓我知道,我是怎樣的一個虛設的,當涉及到批處理文件):批處理文件IF ELSE失敗
@ECHO OFF
::
SETLOCAL
::
IF "%USERNAME%" EQU "jdoe" (
IMDISK -a -s 32M -m #: -p "/FS:exFAT /Q /Y /V:MERGEABLES"
FOR /F "tokens=2 delims==" %%D IN ('WMIC LOGICALDISK WHERE "size=33538048" GET Name /format:value'^) DO (
COPY "\\WIN2K8R2-F-01\Remote Applications\Batches\Merge PDFs.lnk" "%%D\Merge PDFs.lnk"
GOTO End
^)
) ELSE (
IMDISK -a -s 256M -m #: -p "/FS:exFAT /Q /Y /V:RAMDRIVE"
FOR /F "tokens=2 delims==" %%D IN ('WMIC LOGICALDISK WHERE "size=268304384" GET Name /format:value'^) DO (
COPY "\\WIN2K8R2-F-01\Remote Applications\Batches\Archive Folders.lnk" "%%D\Archive Folders.lnk"
GOTO End
^)
)
::
:End
::
IF EXIST "%SystemDrive%\BGInfo.exe" (
"%SystemDrive%\BGInfo.exe" "%SystemDrive%\BGInfo.bgi" /Timer:0 /AcceptEula /Silent
)
::
ENDLOCAL
UPDATE
所以,我改寫了我的版本,老實說,我不認爲我的原文和改寫相差無幾,但重寫工作。然而,最終我不能使用這個腳本,因爲微軟提供了一個問題。問題是普通用戶不允許格式化驅動器。從窗口拋出IMDISK
,現在我必須弄亂隱藏的文件夾和快捷方式等RUNAS
沒有幫助,我無法讓它工作。我很確定我搞砸了,但我沒有看到在追求修復方面的重要性。對於任何關心的人,這裏是腳本的最終版本。也許這將幫助別人:
@ECHO OFF
::
IF /I "%USERNAME%" EQU "jdoe" (
IMDISK -a -s 32M -m #: -p "/FS:exFAT /Q /Y /V:MERGEABLES"
::
TIMEOUT 4
::
FOR /F "tokens=2 delims==" %%D IN (
'WMIC LOGICALDISK WHERE "size=33423360" GET Name /format:value'
) DO (
PUSHD %%D
::
COPY "\\WIN2K8R2-F-01\Remote Applications\Batches\Merge PDFs.lnk" "Merge PDFs.lnk"
::
POPD
::
GOTO End
)
) ELSE (
IMDISK -a -s 256M -m #: -p "/FS:exFAT /Q /Y /V:RAMDRIVE"
::
TIMEOUT 4
::
FOR /F "tokens=2 delims==" %%D IN (
'WMIC LOGICALDISK WHERE "size=268304384" GET Name /format:value'
) DO (
PUSHD %%D
::
COPY "\\WIN2K8R2-F-01\Remote Applications\Batches\Archive Folders.lnk" "Archive Folders.lnk"
::
POPD
::
GOTO End
)
)
::
:End
::
IF EXIST "%SystemDrive%\BGInfo.exe" (
"%SystemDrive%\BGInfo.exe" "%SystemDrive%\BGInfo.bgi" /Timer:0 /AcceptEula /Silent
)
一件事,我無法弄清楚是怎麼到%%D
變量從環路直接傳遞給COPY
命令。這就是爲什麼我使用PUSHD
和POPD
,但這只是感覺髒......
你可以嘗試把'而不是僅僅'SETLOCAL' SETLOCAL ENABLEDELAYEDEXPANSION'。我不知道它是否會起作用。 – 2013-03-06 05:21:34
我也嘗試過,但它沒有改變,所以我刪除了它。 – Gup3rSuR4c 2013-03-06 16:00:37