Bas*_*wer 4 windows command-line cmd batch-file
我试图使用这个使某些文件夹下的每个文件都可写
for/d/r.(%bd)中的%% d执行@if存在"%% d"dir"%% d"/ S | attrib -R/S/D"%% d"
当在文件夹内时
dir"%% d"/ S | attrib -R
工作得非常好.但是当从批处理脚本运行时,它无法做正确的事情.请指教.
使用这样的嵌套循环:只需将文件夹名称更改为您选择的文件夹即可.
@echo off
for /D /R %%D in (nbproject Folder2 Folder3) do if exist "%%~fD" (
pushd "%%~fD"
for /R %%F in (*) do if exist "%%~fF" attrib -R "%%~fF" /D
popd
)
Run Code Online (Sandbox Code Playgroud)
一个班轮:
for /D /R %%D in (nbproject Folder2 Folder3) do @if exist "%%~fD" @cd /D "%%~fD" && for /R %%F in (*) do @if exist "%%~fF" attrib -R "%%~fF" /D
Run Code Online (Sandbox Code Playgroud)
让我们分解您的第一行代码,原因可能是它失败了.
dir输入attrib和使用d变量.只需要一个.使用&,如果使用符号d可变attrib否则删除d变量./b在dir命令中使用该选项,尤其是在管道输出时..for命令中不需要.未指定时,假定当前目录.~删除现有的周围引号,以便不会出现双引号./S不需要该选项.attribdir例:
for /d /r %%d in (nbproject) do @if exist "%%~d" dir "%%~d" /B /S | attrib -R /D
Run Code Online (Sandbox Code Playgroud)