0

私の悪い英語でごめんなさい!ポルトガル人です!

バッチを使って「Google Chrome」で「Gif Viewer」を作れないかと思っていました。私が作りたかったのは、「Google chrome」が「クリックするだけ」で GIF を開くことです。なぜなら、私はグラフィック デザインのコースにいて、私たちの学校では PC に管理者権限があるため、 gif のデフォルト設定を変更し、「Google Chrome」で開くようにします。「Chrome」は高速なアニメーションGIF表示機能であり、HTMLで行うWebサイトをプレビューするのに適しているため、GIFを「Chrome」で開きたいと考えています。もう1つの理由は、バッチについてもっと学ぶのが楽しいからです...

私の問題は次のとおりです。GIF1、2、または 3 を検索して Google Chrome で開く「ファイル サーチャー」を作成するにはどうすればよいですか (GIF のディレクトリと「Google Chrome」をいつでも変更する必要がないようにするために、これを行う必要があります)。フォルダを変更するか、プログラムをクラスメートにコピーします)...

これが私の完全なバッチです(少し動的):

ECHO OFF
CLS
TITLE ***Gif Viewer\**Hubert Kenobi**/GoogleChromePortable***
:S
color 12
color 0B
color 12
color 23
color 45
color 62
color 89
color 91
color 37
color 12
color 43
color 51
color 15
color 42
color 2
color 3
color 0A
:MENU
ECHO .
ECHO  \   
ECHO   HK 
ECHO     .......................................................
ECHO   ...                                                     ...
ECHO  ..                                                         ..
ECHO .     *--Gifs Viewer \By Hubert Kenobi/ Google Chrome--*      .    ===
ECHO  ..                                                         ..
ECHO   ...                                                     ......
ECHO     .......................................................    ...
ECHO    ..                   Y or y - Confirm                  ..     ..           
ECHO   .                   N or n - Reject/Next                  .      .  ===   ===
ECHO    ..                    E or e - Exit                    ..     ..            
ECHO     .......................................................    ...
ECHO   ...                                                     ......
ECHO  ..  To open a gif, put the gif in the folder where is the  ..
ECHO .     "Gif Viewer" with the name of Gif1, or Gif2 Gif3...     .    ===
ECHO  ..   PRESS "Y" or "N" to select your task or "E" to EXIT   ..
ECHO   ...                                                     ...
ECHO     .......................................................
ECHO   HK                                                           Hubert Kenobi
ECHO  /                                                            My spaceship!!!
ECHO .     
ECHO Do you want to see/watch gif1 ?
ECHO.

SET /P M=Type Y, N, or E, then press ENTER: 
IF %M%==Y GOTO Y
IF %M%==N GOTO N
IF %M%==E GOTO EOF
IF %M%==y GOTO Y
IF %M%==n GOTO N
IF %M%==e GOTO EOF
:Y
## I want to make a searcher that run the gif and open it with chrome!! HELP ME!!! ##
ECHO This will take few seconds...
start GoogleChromePortable.exe "L:\Informatic\GoogleChromePortable-GifViewer\Gif1.gif"
GOTO S
:N 
ECHO Do you want to see/watch gif2 ?
ECHO.

SET /P M=Type Y, N, or E, then press ENTER: 
IF %M%==Y GOTO Y2
IF %M%==N GOTO N2
IF %M%==E GOTO EOF
IF %M%==y GOTO Y2
IF %M%==n GOTO N2
IF %M%==e GOTO EOF

:Y2

## I tried this way, but it didn't work and exit automatically! ##

pushd L:\Site HTML onlive-ac
FOR /F "delims=" %F IN ('dir /S /b Gif1.gif) DO SET ExePath="%F"
%ExePath%
Goto S

:N2
ECHO Do you want to see/watch gif3 ?
ECHO.

SET /P M=Type Y, N, or E, then press ENTER: 
IF %M%==Y GOTO Y3
IF %M%==N GOTO N3
IF %M%==E GOTO EOF
IF %M%==y GOTO Y3
IF %M%==n GOTO N3
IF %M%==e GOTO EOF

:Y3
## I tried this way, but it didn't work! This opens the Gifs independently ##
## with the default program (Quick Time Player "slow program") and then ##
## opens the Chrome in the Home page. ##
SETLOCAL 

FOR /L %%a IN (2,1,3) DO (
    FOR /F "tokens=2 delims==" %%b IN ('WMIC LogicalDisk Where "DriveType=%%a" Get DeviceID /Format:List') DO (
        FOR /F "tokens=*" %%c IN ('DIR %%b\GoogleChromePortable.exe "Gif3.gif" /b /s') DO (
            CALL "%%c"
        )
    )
)

EXIT /B
N3:
GOTO MENU

これが私の要約バッチです:

1. gif を実行して chrome で開くサーチャーを作りたい!!!!! これは機能しますが、私がやりたい機能ではありません!助けて!!!

:Y
ECHO This will take few seconds...
start GoogleChromePortable.exe "L:\Informatic\GoogleChromePortable-GifViewer\Gif1.gif"
GOTO S

2. この方法を試してみましたが、うまくいかず、自動的に終了してしまいました!

:Y2
pushd L:\Site HTML onlive-ac
FOR /F "delims=" %F IN ('dir /S /b Gif1.gif) DO SET ExePath="%F"
%ExePath%
Goto S

3. この方法を試してみましたが、うまくいきませんでした。これにより、Gif がデフォルトのプログラム (Quick Time Player の「遅いプログラム」) で個別に開き、ホームページで Chrome が開きます。

SETLOCAL 
    :Y3 
    FOR /L %%a IN (2,1,3) DO (
        FOR /F "tokens=2 delims==" %%b IN ('WMIC LogicalDisk Where "DriveType=%%a" Get DeviceID /Format:List') DO (
            FOR /F "tokens=*" %%c IN ('DIR %%b\GoogleChromePortable.exe "Gif3.gif" /b /s') DO (
                CALL "%%c"
            )
        )
    )

    EXIT /B

私を助けてください!!! ディレクトリを表示するために PrintScreen を実行しました: http://s5.postimage.org/h2emaxvfb/Background_Directoryies.png

考えられる解決策の 1 つは、ディレクトリを変更 (コピーまたは移動) する 2 番目のバッチ プログラムを作成して、最初のバッチを変更することです。出来ますか?他のバッチを変更するバッチ? 手伝ってくれてありがとう!

4

1 に答える 1

0

使用できるファイル選択ツールを作成しました。または、クロムを起動してファイルを表示する方法など、さまざまな部分を見ることができます。または、サブディレクトリ内のすべての画像を検索する方法など。ユーザーに .gif ファイルの名前を変更させずにそれを行う方法を示したかったのです。

スクリプトの先頭でこれらの変数を構成する必要があります。

REM The location of the viewer to launch.
set VIEWER=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

REM The root directory to look for files.  %~dp0 means the same directory as
REM this script, including a trailing \.
set FILES=%~dp0

REM The type of files to show.
set FILE_FILTER=^*.gif ^*.jpg ^*.png

REM When '/s', then include subdirectories below %FILES% in the search.  Leave
REM blank to restrict the search to %FILES% only.
set RECURSE=/s

セレクターを起動すると、次のようなメニューが表示されます。

  images\buffalo.gif
  images\bull7.gif
> images\cow13.gif
  images\cow14.gif
  more images\dino 10.gif
  more images\dino19.gif
Up[W]  Down[S]  Select[E]  Quit[Q]

現在、cow13.gifが選択されています。WまたはSを押して、選択をそれぞれ上または下に変更します。Eを押してクロムを起動し、選択したファイルを表示します。 Qはやめます。

これが完全なものです。を使用しますがchoice、これは必ずしも Windows と共にインストールされるわけではありません。私のWindows 7ボックスにあるので、それを使用しました。

@echo off

REM The location of the viewer to launch.
set VIEWER=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

REM The root directory to look for files.  %~dp0 means the same directory as
REM this script, including a trailing \.
set FILES=%~dp0

REM The type of files to show.
set FILE_FILTER=^*.gif ^*.jpg ^*.png

REM When '/s', then include subdirectories below %FILES% in the search.  Leave
REM blank to restrict the search to %FILES% only.
set RECURSE=/s

REM ----------------------------
setlocal EnableDelayedExpansion

cls
call :show_splash_screen
call :pause_sec 2

set SELECTED_INDEX=0
set SELECTED=

:show_files
if %SELECTED_INDEX% LSS 0 ( set SELECTED_INDEX=0)

cls
call :ui_show_files "%FILES%" "%FILE_FILTER%" "%SELECTED_INDEX%"

choice /c QWSE /n /m " Up[W]  Down[S]  Select[E]  Quit[Q]"
if ERRORLEVEL 4 (
        REM User selected an option, so launch the viewer with the selected file
 as
        REM an argument.
        call "%VIEWER%" "%SELECTED%"
        goto :show_files
)
if ERRORLEVEL 3 ( set /a SELECTED_INDEX=!SELECTED_INDEX!+1 && goto :show_files )

if ERRORLEVEL 2 ( set /a SELECTED_INDEX=!SELECTED_INDEX!-1 && goto :show_files )

goto :eof

REM ui_show_files
REM Displays all the files in the directory given by %1, filtered by %2.  %3
REM indicates which file the user has selected.
REM
REM Returns %SELECTED%, which contains the filename of the selected file.
:ui_show_files
set COUNT=0
pushd "%~1"
for /f "tokens=*" %%a in ('dir %RECURSE% /b %~2') do (
        set DISPLAY_NAME=
        if "!COUNT!"=="%~3" (
                REM This next line has a trailing space.  The space is important
.
                set DISPLAY_NAME=^>
                set SELECTED=%%a
        ) else (
                REM This next line has trailing spaces.  The spaces are importan
t.
                set DISPLAY_NAME=
        )
        set DISPLAY_NAME=!DISPLAY_NAME!%%a
        set DISPLAY_NAME=!DISPLAY_NAME:%~1=!
        echo !DISPLAY_NAME!
        set /a COUNT=!COUNT!+1
)
popd
goto :eof

REM show_splash_screen
REM Displays the splash screen on the console.
:show_splash_screen
echo.
echo. File chooser brought to you by ^>indiv^<
echo.
for %%a in (1 2 3 4 5 6 7 8 9 a b c d e f) do ( color 0%%a )
color
goto :eof

REM pause_sec
REM Pause for the number of seconds given by ~1.
:pause_sec
set SECS=%1
if "%SECS%"=="" ( set SECS=1)
ping 127.0.0.1 -n %SECS% >NUL
goto :eof
于 2012-12-07T01:15:05.377 に答える