执行批处理文件时出现无效的命名空间错误
Invalid Namespace Error while executing batch file
过去 1 年我一直在使用批处理文件,但是突然我开始出现以下错误,同时 运行 它:
ERROR:Description = Invalid namespace
对于下面的代码块:
for /f "skip=1 tokens=1-6 delims= " %%a in ('wmic path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') do (
IF NOT "%%~f"=="" (
set /a FormattedDate=10000 * %%f + 100 * %%d + %%a
set FileDate=!FormattedDate:~-2,2!!FormattedDate:~-4,2!!FormattedDate:~-10,4!
set Month=!FormattedDate:~-4,2!
)
)
我不太熟悉 bat 文件,只是使用上面的代码以所需格式获取当前日期。
系统:Windows10
请协助。提前致谢。
编辑:
更笼统地说,我实际上是想从系统日期获取 3 件事:
- 文件Date:23032018
- 月:03
- 日期:2018 年 3 月 23 日
尝试使用以下代码获取您需要的变量:
@Echo Off
Set "df=%TEMP%\~foo.ddf"&Set "tf=%TEMP%\~%Random%"
Set /A "Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12"
( Echo .Set InfHeader=""&Echo .Set InfSectionOrder=""&Echo .Set InfFooter="%%2"
For /L %%A In (1 1 4) Do Echo .Set InfFooter%%A=""
Echo .Set Cabinet="OFF"&Echo .Set Compress="OFF"&Echo .Set DoNotCopyFiles="ON"
Echo .Set RptFileName="NUL")>"%df%"
MakeCab /D InfFileName="%tf%" /F "%df%">Nul
For /F "UseBackQ Tokens=2,3,5" %%A In ("%tf%") Do (Set mmm=%%A
Set /A "mm=%%A,dd=1%%B-100,yyyy=%%C")
Del "%tf%" "%df%">Nul 2>&1
Set "mm=10%mm%"&Set "DStr=%dd%%mmm%%yyyy%"
Set "FileDate=%dd%%mm:~-2%%yyyy%"&Set "Month=%mm:~-2%"
For %%A In (FileDate Month DStr) Do Call Echo %%%%%%A%%%% = %%%%A%%
Pause
添加最后两行只是为了向您展示设置的变量; 在此之前不要更改任何内容:
过去 1 年我一直在使用批处理文件,但是突然我开始出现以下错误,同时 运行 它:
ERROR:Description = Invalid namespace
对于下面的代码块:
for /f "skip=1 tokens=1-6 delims= " %%a in ('wmic path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') do (
IF NOT "%%~f"=="" (
set /a FormattedDate=10000 * %%f + 100 * %%d + %%a
set FileDate=!FormattedDate:~-2,2!!FormattedDate:~-4,2!!FormattedDate:~-10,4!
set Month=!FormattedDate:~-4,2!
)
)
我不太熟悉 bat 文件,只是使用上面的代码以所需格式获取当前日期。
系统:Windows10
请协助。提前致谢。
编辑:
更笼统地说,我实际上是想从系统日期获取 3 件事:
- 文件Date:23032018
- 月:03
- 日期:2018 年 3 月 23 日
尝试使用以下代码获取您需要的变量:
@Echo Off
Set "df=%TEMP%\~foo.ddf"&Set "tf=%TEMP%\~%Random%"
Set /A "Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12"
( Echo .Set InfHeader=""&Echo .Set InfSectionOrder=""&Echo .Set InfFooter="%%2"
For /L %%A In (1 1 4) Do Echo .Set InfFooter%%A=""
Echo .Set Cabinet="OFF"&Echo .Set Compress="OFF"&Echo .Set DoNotCopyFiles="ON"
Echo .Set RptFileName="NUL")>"%df%"
MakeCab /D InfFileName="%tf%" /F "%df%">Nul
For /F "UseBackQ Tokens=2,3,5" %%A In ("%tf%") Do (Set mmm=%%A
Set /A "mm=%%A,dd=1%%B-100,yyyy=%%C")
Del "%tf%" "%df%">Nul 2>&1
Set "mm=10%mm%"&Set "DStr=%dd%%mmm%%yyyy%"
Set "FileDate=%dd%%mm:~-2%%yyyy%"&Set "Month=%mm:~-2%"
For %%A In (FileDate Month DStr) Do Call Echo %%%%%%A%%%% = %%%%A%%
Pause
添加最后两行只是为了向您展示设置的变量; 在此之前不要更改任何内容: