
标题: [文本处理] 求助:自动获取目录名称并引用到批处理中 [打印本页]
作者: 主人不在 时间: 2021-5-12 15:21 标题: 求助:自动获取目录名称并引用到批处理中
本帖最后由 主人不在 于 2021-5-12 15:29 编辑
需要对一个文件夹做NTFS权限设置:icacls DOCS-T /grant 当前文件夹名称_设总
OI)(CI)(F) /T;
“当前文件夹名称_设总”为安全组名称,这个安全组在AD里面已经由项目管理器创建好了,需要赋权的这个“DOCS-T”文件夹为后期增加,需要对每个项目都操作一次,目前做的批处理需要手动修改这个当前文件夹的名称到批处理中来,请大神帮忙看下这个位置使用啥子参数能自动获取文件夹名称并使用到这个命令中来,谢谢
文件夹路径为(例):E:\2021\0001\DOCS-T,
批处理样式:即批处理中的0001如何自动读取并使用。
@echo off
echo.*****在相应的文件夹下双击执行*****
echo.*****创建需要的文件夹*****
md DOCS-T
pause
echo.*****修改需要添加的权限组*****
icacls DOCS-T /grant 0001_设总":(OI)(CI)(F) /T
pause
icacls DOCS-T /grant 0001_项目组":(OI)(CI)(RX,W,WO) /T
pause
作者: qixiaobin0715 时间: 2021-5-12 15:27
帖子标题太笼统。请按这种规则发帖。
http://www.bathome.net/thread-963-1-1.html
作者: xp3000 时间: 2021-5-12 17:32
- @echo off
- for /f "delims=" %%a in ('dir /a:d /b *') do (
- pushd "%%a"
- (
- if not exist DOCS-T MD "DOCS-T"
- icacls DOCS-T /grant 0001_设总":(OI)(CI)(F) /T
- icacls DOCS-T /grant 0001_项目组":(OI)(CI)(RX,W,WO) /T
- )
- popd
- )
- pause
复制代码
没有过这个功能,0001_设总和0001_项目组,你有这两个用户组?
作者: 主人不在 时间: 2021-5-12 17:43
本帖最后由 主人不在 于 2021-5-12 17:45 编辑
回复 3# xp3000
对应的项目组已经由相关的系统在AD里面创建好了,这个不需要考虑,目前是不修改系统代码,又需要在这一层级里面在新建一个文件夹,并对这个文件夹赋权,手动创建也没有问题,但是麻烦,所以就想使用批处理来修改,目前使用的是手动修改相应的组名称,命令是可以完成的,这个组名称是有规则的,上一级的文件夹名称_***组成,就是想在这个位置如何读取到上一级文件夹名称并应该到相应的命令上使这个批处理成立,但是0001这个是个变量,在不同的文件夹下,自动读取相应的名称。
作者: xp3000 时间: 2021-5-12 17:48
对DOCS-T的上级文件夹处理在pushd "%%a"上面加命令操作指定到文件夹%%a
作者: qixiaobin0715 时间: 2021-5-13 06:28
本帖最后由 qixiaobin0715 于 2021-5-13 06:35 编辑
回复 4# 主人不在
批处理所在的文件夹为当前文件夹,要获得当前文件夹名:- for %%i in ("%~dp0.") do set folder=%%~ni
复制代码
如果要取得上一级文件夹名,括号内dp0.修改为dp0..
如果批处理代码中指定了路径,相应的修改括号中的路径。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |