アプリ版:「スタンプのみでお礼する」機能のリリースについて

バッチファイルを作成してるんですが

cd /d 指定フォルダ
for /f %%i in ('dir /b /od') do set x="%%~fi"
start "" %x%

これだとファイル名にスペースがあるとうまく動いてくれません。
どう書き換えれば動くのでしょうか?

A 回答 (4件)

No.3です。


言葉足らずだったので補足。
標準のデリミタはスペースだけじゃありません。スペースとタブです。
まぁ、ファイル名にタブは使わないでしょうけど……。
    • good
    • 3

/F は何も指定しない場合、スペースで区切りますので、delims=で区切り文字をなしに設定すればいいです。


多分、コレで大丈夫↓


cd /d 指定フォルダ
for /f "delims=" %%i in ('dir /b /od') do set x=%%i
start "%x%"
    • good
    • 3

for文のみ。



for /f "delims=" %%i in ('dir /b /od') do set x="%%~fi"
    • good
    • 2

面白そうなので書いてみました。



@ECHO OFF
SETLOCAL
SET LastFile=
SET LastDate=
FOR %%A IN (*) DO @CALL :Check "%%~A"
START "" %LastFile%

EXIT /B

:Check
IF "%~t1" GTR "%LastDate%" SET LastFile="%~1" && SET LastDate=%~t1
EXIT /B

日付の文字列順と日付順が合致することが条件ですが,こんな感じかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A