5

我在 Windows 7 中有以下批处理文件,由上下文菜单快捷方式执行。我的目标是将包含子文件夹和文件的引用文件夹移动并重命名为不同的路径,并在出现提示时使用插入的项目编号对其进行重命名。

for %%Q in (.) do set quotenumber=%%~nQ
for %%Y in (.\..) do set year=%%~nY
for %%C in (.\..\..\..) do set client=%%~nC
set /P projectnumber="Enter Project number>"
move "c:\myfiles\mainfiles\clients\%client%\quotes\%year%\%quotenumber%" "c:\myfiles\mainfiles\clients\%client%\projects\%year%\%projectnumber%"

我收到错误“该进程无权访问该文件,因为它正在被另一个进程使用”。谁能告诉我我做错了什么?我不是程序员,不能让它工作!任何帮助将不胜感激。

4

1 回答 1

3

查看您的代码,我假设您正在 c:\myfiles\mainfiles\clients\%client%\quotes\%year%\%quotenumber%dir 中执行它。在最后一行中,您尝试将相同的目录移动到另一个地方。这是不可能的,因为该目录由脚本本身持有。试试这个:

for %%Q in (.) do set quotenumber=%%~nQ
for %%Y in (.\..) do set year=%%~nY
for %%C in (.\..\..\..) do set client=%%~nC
set /P projectnumber="Enter Project number>"
cd ..
move "c:\myfiles\mainfiles\clients\%client%\quotes\%year%\%quotenumber%" "c:\myfiles\mainfiles\clients\%client%\projects\%year%\%projectnumber%"
于 2013-10-21T14:59:03.760 回答