Batch file 为什么我在批处理变量中有一个空格时会得到三个输出?
该代码旨在为test.tx文件创建一个简单的符号链接,但当我运行它时,会得到三个输出:Batch file 为什么我在批处理变量中有一个空格时会得到三个输出?,batch-file,filesystems,Batch File,Filesystems,该代码旨在为test.tx文件创建一个简单的符号链接,但当我运行它时,会得到三个输出: mklink "H:\Backups\Batch Files\Batch" "H:\Backups\Batch Files\File System\test.txt" mklink "H:\Backups\Batch Files\File" "H:\Backups\Batch Files\File System\test.txt" mklink "H:\Backups\Batch Files\test.txt
mklink "H:\Backups\Batch Files\Batch" "H:\Backups\Batch Files\File System\test.txt"
mklink "H:\Backups\Batch Files\File" "H:\Backups\Batch Files\File System\test.txt"
mklink "H:\Backups\Batch Files\test.txt" "H:\Backups\Batch Files\File System\test.txt"
脚本:
@Echo off
set "src=H:\Backups\Batch Files\File System\test.txt"
set "des=H:\Backups\Batch Files"
FOR %%A IN (%src%) DO (echo mklink "%des%\%%~nxA" "%src%")
timeout 30
分配给
src
的值是H:\Backups\Batch Files\File System\test.txt
这是三个单独的空格分隔字符串,因此for
将do
echo三次,每个字符串一次
如果希望cmd
将字符串解释为单个实体,可以
1/在分配时引用字符串,设置“src=“H:\Backups\Batch Files\File System\test.txt”
或
2/在(“%src%”)中为%%A使用
时引用值。DO(…
分配给src
的值是H:\Backups\Batch Files\File System\test.txt
这是三个单独的空格分隔字符串,因此for
将do
echo三次,每个字符串一次
如果希望cmd
将字符串解释为单个实体,可以
1/在分配时引用字符串,设置“src=“H:\Backups\Batch Files\File System\test.txt”
或
2/引用(“%src%”)中%%A使用
时的值(…
Ahhh!“分隔空间分隔字符串”-太棒了!我没有意识到。我在其他脚本中也遇到过此问题。感谢您的帮助!Ahhh!“分隔空间分隔字符串”-太棒了!我没有意识到。我在其他脚本中也遇到过这个问题。谢谢你的帮助!