मेरे .bat फ़ाइल को फिर से चलाकर इस तरह दिखता है:फ़ाइल .bat विंडोज के लिए यूनिकोड मानकों पासिंग जब यह
@echo off
CD /D "%~dp0"
if [%2]==[] (
set user=%USERNAME%
) else (
set user=%2%
)
:getFile
if [%1]==[] (
set /p file=Enter file name :
) else (
set file=%~f1
echo File name: %~f1
)
:checkFile
for /f "useback tokens=*" %%a in ('%file%') do set file=%%~a
if not exist "%file%" (
echo Error: Could not find file: %file%
echo.
)
:: Check for admin permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' == '0' (
goto gotAdmin
)
:: Rerun this batch with admin rights
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "cmd", "/c """"%~f0"" ""%file%"" ""%user%""""", "%CD%", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs")
pushd "%CD%"
CD /D "%~dp0"
echo.
:eof
pause
exit /B
मैं इन दो परीक्षण फ़ाइलें:
- C: \ टेस्ट \ फ़ोल्डर \ フ ァ イ ル.txt
- C: \ टेस्ट \ フ ォ ル ダ \ file.txt
जब मैं ऊपर बैच फ़ाइल और खींचें 1 cmd खिड़की मैं पर चलाएँ:
है, जो अच्छा है।
जब मैं 2 के लिए भी ऐसा ही है, मैं मिलता है:
जब मैं UAC.ShellExecute फोन,% फ़ाइल% सही ढंग से नहीं पहुंचेगी।
मैं इस समस्या को कैसे हल कर सकता हूं?
'सेट उपयोगकर्ता =% 2%' 'सेट किया जाना चाहिए उपयोगकर्ता =% 2' के बिना पर प्रतिशत चिह्न:
तो यहाँ कैसे आप VBS फ़ाइल लिख सकते हैं और इसे चलाने है समाप्त। – Mofi