Batch file 如何分配%%?在批处理文件中添加变量
我在电视上看到这个 但当我尝试应用它时, 在循环中,我使用“set” 设置日期时间\u t=%%~t Echo datetime\u t%datetime\u t%>result.txt 文件内部仅显示Batch file 如何分配%%?在批处理文件中添加变量,batch-file,Batch File,我在电视上看到这个 但当我尝试应用它时, 在循环中,我使用“set” 设置日期时间\u t=%%~t Echo datetime\u t%datetime\u t%>result.txt 文件内部仅显示 FOR %%? IN (file_to_be_queried) DO ( ECHO File Name Only : %%~n? ECHO File Extension : %%~x? ECHO Name in 8.3 notation : %%~
FOR %%? IN (file_to_be_queried) DO (
ECHO File Name Only : %%~n?
ECHO File Extension : %%~x?
ECHO Name in 8.3 notation : %%~sn?
ECHO File Attributes : %%~a?
ECHO Located on Drive : %%~d?
ECHO File Size : %%~z?
ECHO Last-Modified Date : %%~t?
ECHO Parent Folder : %%~dp?
ECHO Fully Qualified Path : %%~f?
ECHO FQP in 8.3 notation : %%~sf?
ECHO Location in the PATH : %%~dp$PATH:?
)
这个变量怎么了?它是空的吗?试试这个:
datetime_t
datetime_t
datetime_t
datetime_t
这应该很好
Mona是-%-变量仅在
(
和)
之间的当前块中有效,并且在此块之外不存在。请勿在for循环变量中使用通配符。对于试图通过阅读您的代码来学习的人来说,这是一种糟糕的做法。您好,我想问一下,在for循环中,我看到一些使用%%?,%%#的代码。它的含义是否与for循环中使用的%%a,%%b这样的临时变量相同?或者它通过使用?和#。我不知道如何识别这个问题,因为谷歌不接受特殊字符。@user2940018使用?
或“#”只是为了表明你可以用你想要的任何字母替换。它可以用于其他目的,但你不必担心。
setlocal enabledelayedexpansion
Rem Above is required for this to work
FOR %%? IN (file_to_be_queried) DO (
ECHO File Name Only : %%~n?
ECHO File Extension : %%~x?
ECHO Name in 8.3 notation : %%~sn?
ECHO File Attributes : %%~a?
ECHO Located on Drive : %%~d?
ECHO File Size : %%~z?
ECHO Last-Modified Date : %%~t?
ECHO Parent Folder : %%~dp?
ECHO Fully Qualified Path : %%~f?
ECHO FQP in 8.3 notation : %%~sf?
ECHO Location in the PATH : %%~dp$PATH:?
SET datetime_t=%%~t?
Echo datetime_t !datetime_t! > result.txt
Rem Notice use of "!"
)