バッチ:読み取りのみファイル名から変数のpathやファイル名
-
19-08-2019 - |
質問
私は現在、みなければならないというニーズを取る変数のバッチのみを解析し、ファイル名を指定します。
例えば、過私のバッチファイルは、-sパラメータから別のアプリケーションとその後の設定に私のソースに変更します。のソースファイル変数一般的に含むのようなもの:C:\Program ファイルを\myapp\インスタンス.1\Data\filetomove.ext.
を前提にしているから読み取らの変数までは"\"を設定し、その結果、新しい変数をファイル名がされていない使用できる"ために/f"commmand功した。
他の助けがよろしくお願いいたします!
更新:専用のスタンダードXPまたはWindows2000/2003をご用意して---できない資源キットを搭載)。
解決
その場に引数としてのスクリプトは、%1,%2などを抽出でき、ファイル名と拡張子の変動のようになります:
set FILENAME=%~nxN
ここで、Nはのインデックス引数です。例えば、このスクリプトのままエコーでのファイル名の最初の引数:
@echo off
set FILENAME=%~nx1
echo %FILENAME%
他のヒント
わずかに改善されたバージョン:
set FILENAME="%~nx1"
余分な括弧は、「<!> amp;」などの特殊文字がバッチ実行中に干渉しないことを保証します。
所属していません StackOverflow