我在将文件从一个路径复制到另一个路径时出现问题,路径中带有“变量文件夹名称”
如果文件夹名称中没有空格,以下代码可以正常工作。(听说Folder1是变量文件夹名称)
CODE:
@echo off&setlocal enabledelayedexpansion
SET inpu="Folder1"
::SET /p fil=enter file name:
for /f "delims=" %%x in ('dir "C:\Users\kumark3\Desktop\"%inpu% /ad /b') do (
set /a userslen+=1
set "usersarray!userslen!=C:\Users\kumark3\Desktop\%inpu%\%%x"
)
for /l %%x in (1,1,%userslen%) do (
xcopy "!usersarray%%x!\geth\gr.txt" "C:\Users\kumark3\Desktop\Folder2" /c /h /r /y /i
)
但是如果文件夹名称有空格,则代码不起作用 例如,如果代码中的第二行是
SET inpu =“Folder 1”
请给我一个解决这个问题的方法
答案 0 :(得分:0)
差不多完成了,改变
中的引号位置set "inpu=Folder 1"
和
'dir "C:\Users\kumark3\Desktop\%inpu%" /ad /b'
已编辑 - 回答评论
@echo off
setlocal enableextensions enabledelayedexpansion
set "inpu=Folder 1"
set "where=C:\Users\kumark3\Desktop"
for /f "tokens=*" %%x in ('dir /ad /b "%where%\%inpu%" /ad /b') do (
set /a "userslen+=1"
set "usersarray!userslen!=%where%\%inpu%\%%x"
)
set users
for /l %%x in (1,1,%userslen%) do (
xcopy /c /h /r /y /i "!usersarray%%x!\geth\gr.txt" "%where%\Folder2"
)