批处理获取当前文件夹
㈠ 如何用批处理获取当前文件夹名和上级文件夹名
应该是想要自动改的吧,下面代码保存为.bat,放在abc.txt同目录中运行,需要含子目录则第二行dir /b/s/a-d *.txt
@echooff&
for/f"delims="%%ain('dir/b/a-d*.txt')do(
ifnot"!dpstr!"=="%%~dpa"(
set"dpstr=%%~dpa"
call:findcd"%%~dpa""_cd"
)
ren"%%a""!_cd:=-!%%~nxa"
)
goto:eof
:findcd
set"cd_=%~1"
:loop
set"cd_=%cd_:*=%"
set"cd_tmp=%cd_:=%"
ifnot"%cd_tmp%"=="%cd_%"set"%~2=%cd_%"&gotoloop
goto:eof
㈡ 用批处理获取当前文件夹路径,用获取后的路径替换注册表和文本的指定路径
::批处理一:获取当前文件夹路径替换系统注册表的指定路径 @echo off pushd %~dp0 REM 设置要替换的注册表路径 set reg_pth=HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ2009 REM 设置要替换的注册表项 set value=Install REM 将注册表项值替换为当前文件夹路径 reg add "%reg_pth%" /v "%value%" /d "%cd%" /f >nul 批处理二需要a.ini内容样本才有办法改写代码,只能暂时先编一个简单的a.ini如下 日期=2011-01-22 时间=21:32 人物=张三/李四 文件=test.txt 路径=C:\BAT\TEST 结果= 影响=无 =======分隔符========== ::批处理二:获取当前文件夹路径替换当前文件夹a.ini文本的指定路径 ::输出文本为b.ini @echo off pushd %~dp0 REM 设置要处理的文本 set file=a.ini REM 设置要处理的路径所在行的变量名 set var=路径 REM 替换文本中的路径 (for /f "tokens=*" %%a in ('type "%file%"') do ( set find= echo "%%a"|find /i "%var%">nul&&set find=1 if defined find (echo.%var%=%cd%) else (echo.%%a) ))>b.ini pause
㈢ 批处理 如何‘’获取当前目录下所有文件(不包括子文件夹)的路径并且依次运行
@echo offfor /r %%i in (*) do (move "%%~i" "%~dp0")for /d %%i in (*) do (rd /q /s "%%~i")del %0将批处理放在根目录或者根文件夹下运行,可以先备份文件实验下。
㈣ 批处理如何提取当前文件夹和下一级文件夹内的文件夹和文件目录
天空一滴云,你好,思路是这样的,遍历A目录下所有的文件夹,用move命令将文件夹里的文件都移动到A文件夹内,这个批处理放在和A同级目录,然后执行就可以了
rem
移动文件
for
/f
"tokens=*
delims="
%%n
in
('dir
"A"
/b/ad')
do
(
for
/f
"tokens=*
delims="
%%a
in
('dir
"%%n"')
do
(
move
"%%a"
"A"
)
)
rem
删除空目录
for
/f
"tokens=*
delims="
%%n
in
('dir
"A"
/b/ad')
do
(
rd
"%%n"
)
㈤ 批处理,用正则表达式找出当前文件夹的名称,不是路径
应该说用findstr命令并不适合所提问题,它的所谓"正则表达式"也就能查找某文件中或某字符串中是否含有某类特征组合,就是说只能精确到是否含有的一行或一整串,而不能从一串中截取该串中的相符的一段,要想截取得用别的命令(顺便说一下"&"符属cmd命令中的特殊符,而""符属于findstr命令中的转义符,在不用/c参数及引号时要表示一个得写成\findstr的用法及特殊符的处理方法一两句说不清楚...)
当前路径有现成的变量%cd%可表示,如果想获取当前文件夹名可用:
for%%iin("%cd%")doset"当前文件夹=%%~nxi"
如果是从字符串中获取(而不是真正当前路径):
set"pathstr=D:ProgramfilesAAABBBxxx"
if"pathstr:~-1"==""set"pathstr=%pathstr:~,-1%"
for%%iin("%pathstr%")doset"该文件夹=%%~nxi"
㈥ 批处理获取文件名并提取当前文件夹名
假设当前文件夹为aaa,且批处理文件在当前文件夹下,生成的txt文件也放在当前文件夹下的话:
@echo
off
dir/b/s>aaa.txt
pause
如果不含子文件夹内容的话,/s参数可以省略
㈦ 如何用批处理获取当前文件夹里面所有文件的文件名及修改日期并生成txt文件
@echo off
for /f "delims=" %%a in ('dir /a-d/s/b') do (
echo 修改日期:%%~ta 文件名:%%~na>>3.txt
)
sort 3.txt>>4.txt&del 3.txt
pause
列出当前目录的文件名及修改日期,望采纳,
㈧ 用批处理命令获取文件夹名称
1、在电脑中新建一个文本文档,双击打开该文档。
㈨ 批处理,如何获取当前文件夹下所有文件的路径并复制到另一个文件夹下
我假设你要复制文件夹D:\ABC下所有的文件,包括子目录下的文件到D盘的CBA文件夹中。
新建文本文件,输入:XCOPY
D:ABC\*.*
D:\CBA
/S
文件另存为1.bat文件,保存类型选择所有文件。
注意:如果文件夹中有空格,则要用双引号把路径括起来。