我有来自维基百科的以下批处理脚本:
@echo off
for /R "C:\Users\Admin\Ordner" %%f in (*.flv) do (
echo %%f
)
pause
在for循环中,所有扩展名为flv的文件都会得到回显,但我希望对文件执行一些操作,其中我需要对不带扩展名的文件执行一次操作,并使用扩展名执行一次操作。我怎么才能弄到这两个?
我寻找了解决方案,但没有找到。我是一批真正的新手...
发布于 2010-07-10 02:34:21
我对windows cmd也很陌生,但可以试试这个:
echo %%~nf
发布于 2013-03-30 05:29:54
这是一个非常晚的响应,但我想出这个来解决我在DiskInternals LinuxReader将'.efs_ntfs‘附加到它保存到非NTFS (FAT32)目录的文件时遇到的一个特殊问题:
@echo off
REM %1 is the directory to recurse through and %2 is the file extension to remove
for /R "%1" %%f in (*.%2) do (
REM Path (sans drive) is given by %%~pf ; drive is given by %%~df
REM file name (sans ext) is given by %%~nf ; to 'rename' files, move them
copy "%%~df%%~pf%%~nf.%2" "%%~df%%~pf%%~nf"
echo "%%~df%%~pf%%~nf.%2" copied to "%%~df%%~pf%%~nf"
echo.
)
pause
发布于 2019-07-28 13:32:25
使用cygwin bash进行切割
:: e.g. FILE=basename.mp4 => FILE_NO_EXT=basename
set FILE=%1
for /f "delims=" %%a in ('bash -c "FILE=%FILE%; echo ${FILE/.*/}" ') do set FILE_NO_EXT=%%a
https://stackoverflow.com/questions/3215501
复制相似问题