首页 > 解决方案 > 批处理文件中的权限移动性

问题描述

我试图将一个文件名从一个批处理文件传递给另一个批处理文件,当我尝试打开它时,第二个批处理文件给了我一个“拒绝访问”。

我运行一个看起来与此类似的函数:

BATCH1.BAT

set CUR_YYYY=%date:~10,4%
set CUR_MM=%date:~4,2%
set CUR_DD=%date:~7,2%
set CUR_HH=%time:~0,2%
if %CUR_HH% lss 10 (set CUR_HH=0%time:~1,1%)

set CUR_NN=%time:~3,2%
set CUR_SS=%time:~6,2%
set CUR_MS=%time:~9,2%

set DIRECTORYFILENAME=%CUR_YYYY%%CUR_MM%%CUR_DD%-%CUR_HH%%CUR_NN%%CUR_SS%

cd \
dir /a /s /b /o:gn > \path\%DIRECTORYFILENAME%.dr
pause
call batch2.bat

我知道由于下一个脚本而在执行发生时传递了变量:

BATCH2.BAT

echo with DIRECTORYFILENAME=%DIRECTORYFILENAME%
call for /F "tokens=*" %%I in (%DIRECTORYFILENAME%.dr) do (
FCIV -both "%%I" >> %DIRECTORYFILENAME%.log)

打印变量,但不允许我打开有问题的文件,错误为:访问被拒绝。

编辑 当单独打开另一个批处理文件时,它会经常挂起,直到按下 Ctrl-C 然后输入“N”。(如果这很重要)

标签: batch-filecmd

解决方案


推荐阅读