Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 未将文件路径分配给cmd中的变量_Batch File_Cmd_Command Line - Fatal编程技术网

Batch file 未将文件路径分配给cmd中的变量

Batch file 未将文件路径分配给cmd中的变量,batch-file,cmd,command-line,Batch File,Cmd,Command Line,在cmd中,我想将一个文件的文件路径,比如说'test.txt'分配给一个变量名filePath,完整的文件位置不知道,它只知道某个文件夹,所以我使用dir/b/a/s“test.txt”。我使用以下语法: set filePath=C:\Users\kadamr\AppData\Local\Test>dir /b /a /s "test.txt" 当我回显filePath的值时,我得到的是语法而不是filePath i、 e:C:\Users\kadamr\AppD

在cmd中,我想将一个文件的文件路径,比如说
'test.txt'
分配给一个变量名filePath,完整的文件位置不知道,它只知道某个文件夹,所以我使用
dir/b/a/s“test.txt”
。我使用以下语法:

set filePath=C:\Users\kadamr\AppData\Local\Test>dir /b /a /s "test.txt"
当我回显filePath的值时,我得到的是语法而不是filePath

i、 e:
C:\Users\kadamr\AppData\Local\Test>dir/b/a/s“Test.txt”


我缺少什么?

如果它总是在用户的主目录下,请使用USERPROFILE变量作为要搜索的基本目录。为什么在没有指定属性的情况下使用
/a
?此外,请记住,基本目录下可能存在多个
test.txt
文件

@ECHO OFF
SETLOCAL
SET "EXITCODE=1"
SET "BASEDIR=%USERPROFILE%\AppData\Local\Test"
FOR /F "delims=" %%A IN ('DIR /S /B "%BASEDIR%\test.txt" 2^>NUL') DO (
    ECHO COMMAND: CALL doit.exe "%%~A"
    IF ERRORLEVEL 1 (SET "EXITCODE=%ERRORLEVEL%" & GOTO TheEnd)
    SET "EXITCODE=0"
)
:TheEnd
EXIT /B %EXITCODE%

在批量生产中,你不能这样做。您需要一个循环来捕获命令的输出。您是否确实尝试包含提示
C:\Users\kadamr\AppData\Local\Test>
?你是怎么想到这个的?我是新来的命令行。dir/b/a/s“test.txt”给出了命令行中文件的路径。我想存储这个输出,以便在需要时使用它。所以我试过了。访问我给你的链接。它解释了如何存储它。对于/F“delims=“%%I in('dir”%LocalAppData%\test.txt“/A-D/B/S 2^>nul”)中最简单的
如何设置“filePath=%%~dpI”
?请注意,在本地应用程序数据目录或其任何子目录中,至少有一个名为
test.txt
的文件在环境变量
filePath
的末尾用反斜杠指定了文件路径。在命令提示窗口中运行
cmd/?
dir/?
for/?
,并从上而下仔细阅读每个命令的输出帮助。注意:FOR在带有
%ComSpec%/c
'
和追加在后台的命令行之间运行命令行。