0

パスと拡張子からファイル名を削除する方法を考案しました (ファイル名をアスタリスクに置き換えます)。

ただし、出力ファイルでは、終了引用符の直前に余分なスペースが追加されます。これを修正する理由または方法がわかりません。

@echo off

SET EXTENT=%~x1
SET PATH=%~dp1

SET /P FILETYPE=

rem SET FILETYPE="%PATH%*%EXTENT%"

echo %FILETYPE%

pause

Type C:\HELLO.txt | findstr /I /V /C:%FILETYPE% >>C:\TEMP.txt

DEL /S/Q "C:\HELLO.txt"

ren "C:\TEMP.txt" "HELLO.txt"

DEL /s/q "C:\TEMP.txt"
4

1 に答える 1

0

更新しました

質問をよりよく理解した後、この回答を変更しました。

このコードはあなたが望むものに近いと思います。FINDSTRコマンドの正規表現をいじる必要があるかもしれません。

@ECHO OFF

SET EXT=%~x1

FINDSTR /I /V /C:%EXT% HELLO.TXT >>TEMP.TXT
DEL /Q HELLO.TXT
REN TEMP.TXT HELLO.TXT
于 2013-01-10T17:11:16.827 に答える