• ベストアンサー

CMDの「Explorer」

管理しているサーバが沢山あり以下のようなBATを作りましたが 「3」がうまく起動してくれません。 Explorerではネットワーク(絶対パス)は開くことが出来ないでしょうか?(ネットワークマウントは極力避けたい) どなたかご教授下さい。 @echo off :start echo. echo 1. TEMP開く echo 2. Windows開く echo 3. サーバ1開く echo 4. 終了します。 echo. set choice= set /p choice=選択してください: if not '%choice%'=='' set choice=%choice:~0,1% if '%choice%'=='1' goto C:\temp if '%choice%'=='2' goto C:\windows if '%choice%'=='3' goto server1 if '%choice%'=='4' goto EOF goto start :temp explorer c:\temp :windows Explorer c:\windows :server1 Explorer \\server1\work$

質問者が選んだベストアンサー

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

server1のworkが共有設定されているとして、 Explorer /root,\\server1\work でどうでしょう?

shapecat02
質問者

お礼

レス有難うございます。 目的の操作ができるようなりました。

その他の回答 (1)

  • Ctrl-Z727
  • ベストアンサー率79% (135/170)
回答No.2

>Explorer \\server1\work$ explorerコマンドでネットワークを開くことは当然できますが、共有名(work$)に"$"があるために開けません。("$" は非表示=相手側から見ることができない) 共有を再設定して、共有名の"$" を無くせば表示されますので確認してください。(コマンドラインで explorer \\server1\work を実行する)

shapecat02
質問者

お礼

レス感謝です。 「$」があっても出来ました。

関連するQ&A

  • 【バッチファイル】コマンドの説明

    @echo off cls :start ECHO. echo 以下から該当PCの作業形態を選択して下さい。 echo 1:データ移行有り echo 2:データ移行無し set choice= set /p choice=上記の番号を入力して下さい(1,2)> if not '%choice%'=='' set choice=%choice:~0,1% if '%choice%'=='1' goto ikou_ari if '%choice%'=='2' goto ikou_nashi ECHO "%choice%" is not valid please try again ECHO. goto start お世話になっております。 今回は、上記の「set choice=」以下の部分が どういった処理をしているのかをお聞きしたくて投稿いたしました。 特に、「set」の使い方と言いますか、 「set」の役割(set以下の処理)がどういうものなのかを お教えいただきたいと思っております。 よろしくお願いいたします。

  • IEのバージョンチェックとバージョンアップでBATの簡略化

    IEのバージョンチェックとバージョンアップでBATの簡略化 タイトルの通りで、なんとか仕事で使っている端末のバージョンチェックと 条件に合わない場合、バージョンアップするBATを作りました。 目的の作業は出来ますが、まだまだ勉強不足で簡略化するとしたら どのように短く出来ますか? お時間あるかたいましたらご教授下さい。 @echo off CLS echo IE ver6.0 の場合、IE7.0にアップグレードされます。 echo 実行続けますか? echo 中止:CTRL + C pause rem マウント net use T: \\server\setup$\microsoft\IE echo IEバージョン情報出力 REG QUERY "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v "version" > %temp%\IEverchek.log :XP_SP2 C: CD %temp% find IEverchek.log "6.0.2900.2180" if %ERRORLEVEL% == 0 GOTO verup_start if %ERRORLEVEL% == 1 GOTO XP_SP3 :XP_SP3 C: CD %temp% find IEverchek.log "6.0.2900.5512" if %ERRORLEVEL% == 0 GOTO verup_start if %ERRORLEVEL% == 1 GOTO IE7 :IE7 C: CD %temp% find IEverchek.log "7.0.5730" set message=環境は「IE 7.0 」の環境でした。 if %ERRORLEVEL% == 0 GOTO END if %ERRORLEVEL% == 1 GOTO IE8 :IE8 C: CD %temp% find IEverchek.log "8.0.6001" set message=環境は「IE 8.0 」の環境でした。 if %ERRORLEVEL% == 0 GOTO END if %ERRORLEVEL% == 1 GOTO Error :verup_start for /f "tokens=2 delims=[" %%i in ('ver') do set ver1=%%i for /f "tokens=2" %%i in ('echo %ver1%') do set ver2=%%i for /f "tokens=1-2 delims=. " %%i in ( 'echo %ver2%' ) do set OSVER=%%i.%%j rem -------%OSVER% Win2k=5.00 XP=5.1 XPx64=5.2----------- set OS_TYPE="" if "%OSVER%" == "5.1" set OS_TYPE=32 if "%OSVER%" == "5.2" set OS_TYPE=64 echo installing IE7.0 %OS_TYPE%bit..... echo please wait..... T: start /wait "" "IE7-WindowsXP-x%OS_TYPE%.exe" /passive /forcerestart /update-no goto verupend :Error echo Internet Explorer のレジストリキーが見つかりません。 echo 必要なら手動でインストールしてね。 pause exit :END echo. echo チェックOK echo %message%終了します。 echo. pause exit :verupend echo. echo バージョンアップしました echo. pause exit

  • BATのIF文について質問

    @echo off cls set LOGFILE=C:\%COMPUTERNAME%.log find C:\temp\setting.txt "SERVER01" /I if %ERRORLEVEL% == 1 GOTO END if %ERRORLEVEL% == 0 ( set MESSAGE=SEVER01の環境です echo %MESSAGE% echo %MESSAGE% >> %LOGFILE% GOTO SET1 ) :SET1 echo テスト >> %LOGFILE% :END こんな簡単なBATを作成してみましたがERRORLEVELが0の時処理されません (「SEVER01の環境です」がLOGに書き込まれません) (もちろんsetting.txtには「SERVER01」の文字が入ってます) (FINDのあと、「echo %errorlevel」を記述して0にもなっているのですが) IFの構文として間違っていますか?どなたかご教授ください。 OSはWindowsXP SP3 64Bitです。

  • .bat(バッチ)から.batを実行したいのですがエラーになってしまいます。

    <やりたい事> (1)メニュー的なバッチからOracleインストール後 (2)OracleのDB作成sqlを実行する.bat(バッチ)を実行する。 <現状> メニュー的バッチから(2)をCALLで呼びだすと「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」とコンソールに表示されてしまいます。 コマンドの拡張子を実行できる設定になっている事は確認できています。 また、コマンドプロンプトから(2)のバッチを実行すると実行できました。 色々と調べて見たのですが原因、解決策が見つかりません。 どうか皆様のお力をお借りできればと思います。 宜しくお願いします。 ↓以下バッチの詳細 <(1)メニュー的なバッチ> ECHO OFF :Start ECHO. ECHO 1. ・・・ 運用APLデータベース設定 %P5% ECHO 99. ・・・ 終了 SET Process= SET Choice= SET /p Choice=Type 選択して下さい。 IF '%Choice%'=='1' GOTO MakeDB :MakeDB REM 5. 運用APLデータベース設定選択時 SET Process=運用APLデータベース設定 ECHO *** "%Process%"開始 *** REM 文字変換バッチ実行 CALL C:\TEMP\aaaa.bat IF ERRORLEVEL 1 GOTO ExceptionError :InputError REM 入力エラー時 ECHO 不正なパラメータが入力されました。 GOTO Start :ExceptionError REM 例外エラー時 ECHO ******** 失敗しました。 ******** GOTO Start :End REM バッチを終了する。 EXIT <(2)OracleのDB作成sqlを実行する.bat(バッチ)> SET ORACLE_INSTALL_DIR=C:\oraclexe SET ORACLE_BIN_DIR=%ORACLE_INSTALL_DIR%\app\oracle\product\10.2.0\server\BIN SET ADMIN_DIR=%ORACLE_INSTALL_DIR%\app\oracle\admin\XE SET ORADATA_DIR=%ORACLE_INSTALL_DIR%\oradata\XE SET DBS_DIR=%ORACLE_INSTALL_DIR%\app\oracle\product\10.2.0\server\dbs SET USERNAME=aaa SET PASSWORD=bbb REM // LOGファイル名用に日付の取得 // FOR /F "tokens=1,2,3 delims=/, " %%i IN ('date /t') DO SET SYSDATE=%%i%%j%%k REM // 「Win31J」に文字変換 // ECHO 文字変換開始 %date% %time% >> "C:\install%SYSDATE%.log" "%ORACLE_BIN_DIR%\sqlplus" %USERNAME%/%PASSWORD% as sysdba @C:\TEMP\Drop.sql >> "C:\install%SYSDATE%.log" IF ERRORLEVEL 1 GOTO ExceptionError ECHO DBユーザー作成開始 %date% %time% >> "C:\install%SYSDATE%.log" "%ORACLE_BIN_DIR%\sqlplus" %USERNAME%/%PASSWORD% as sysdba @C:\TEMP\CreateDB.sql >> "C:\install%SYSDATE%.log" IF ERRORLEVEL 1 GOTO ExceptionError

  • コマンドプロンプトからのcmd実行について

    現在VBSでオブジェクトを定義しrunを使いcmd経由で他のバッチ・VBS・ソフトの起動をやっています。 ふととあるパスが実行できませんでした。 そこで別途個別にコマンドプロンプトだけで実行してみましたがやはりうまく処理できません。 [echo.bat] echo test pause [コマンドプロンプト] rem その1 cmd /K c:\temp\a\echo.bat rem その2 cmd /K C:\Temp\(a\echo.bat その1の結果 C:>cmd /K C:\Temp\a\echo.bat C:>echo test test C:>pause 続行するには何かキーを押してください . . . その2の結果 C:>cmd /K C:\Temp\(a\echo.bat 'C:\Temp\' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 C:> 上記のように1は正常に処理され2はうまく処理されません。 解決策をひたすら検索したのですが見つからず なんとなくだいたい分かったのが一部『(』や『)』や『&』や『@』や『^』などの記号が混じるとどうやらうまく処理できないようです。 なぜ処理できないのか?と、如何すればこれを回避して実行できるか分かる方がいればよろしくお願いします。 備考: (現状の緊急回避として記号のあるパスは記号のないパスから経由batを生成する方法を思いつきましたが自分で馬鹿だと思います) (経由バッチの中身が"C:\Temp\(a\echo.bat"ならば実行できるから) また、cmd /K "C:\Temp\(a\echo.bat" では実行できませんでした。 OSはXPです。コマンドプロンプトヴァージョンは(Microsoft Windows XP [Version 5.1.2600])です

  • フォルダー内の複数ファイル名を一括で変名するbat

    フォルダー内の複数ファイル名を一括で変名するbatを教えてください。 batは、デスクトップに配置して 処理するフォルダーをD&Dして処理させる形式をとしたいです。 以下のような形式です。  No1 aaaa bbbb [com : *********].zip を  No1 aaaa bbbb.zip に変名する。   (*******は任意の文字列) 例えば、 No1 aaaa bbbb [com : taken2110221100014].zip であれば No1 aaaa bbbb.zip に変名する。 以下が参考になりそうなので https://oshiete.goo.ne.jp/qa/9263608.html 記事中の助言を元に以下のようにコードを修正してみましたが うまく処理できませんでした。 bat(test,bat,test2.bat)のどこを再修正すれば希望の処理ができますか ? 希望は、下記ですが 「batは、デスクトップに配置して 処理するフォルダーをD&Dして処理させる形式をとしたいです。」 batを修正してもこのbatでは、D&Dで処理することは可能で無い場合は アドバイス又は他の参考なりそうなURLを紹介ください。 '------------------------------------------ rem test.bat echo off for /F "delims=" %%f in ('dir /*.mp4') do call :sub "%%f" exit /*.mp4 :sub set fname=%~1 set n=0 :loop call set c=%%fname:~%n%,1%% set /a n=n+1 if "%c%"=="" goto :EOF if "%c%"=="[com" goto break goto loop :break set /a n=n-1 set ext=%~x1 call set newname=%%fname:~0,%n%%% call set newname=%newname%%ext% if "%newname%"=="" goto :EOF if "%newname:~0,1%"=="." goto :EOF ren "%fname%" "%newname%" goto :EOF '-------------------------------------- rem bat2.bat for /F "tokens=1* delims=[com" %%F in ('dir /b *.mp4') do echo move %%F[com%%G %%F.mp4 '--------------------------------------

  • DOSのIF文でつまづいています

    DOSのプログラムでつまづいています。 test.batの中身 ************************************************ if %1==start goto start else if %1==stop goto stop else goto error :start rem スタート処理 echo start%1 > test.txt :stop rem ストップ処理 echo stop%1 > test.txt :error rem エラー処理 echo error%1 > test.txt exit ************************************************* うまく処理できる方法を教えてください。

  • バッチファイルでの%を含むファイル名の取得

    以下はEドライブを走査してフォルダごとのjpgやpngなどのファイルの数を全て表示するバッチ処理ですが。基本的に上手く動きますが%を含むファイル名、フォルダ名に当たると上手く動きません。どうしたらいいでしょうか?”ファイル名、フォルダ名に%を使うな”という回答以外でお願いします。 @echo off pushd E:\ for /f "delims=" %%j in ('dir /b /s /a:d') do call :sub "%%j" exit /b :sub echo /////////////////////////////////////////////////////////////////////////// for /f "delims=" %%x in ('dir /b %1 ^| find /c ".jpg"') do call :jpg %%x for /f "delims=" %%x in ('dir /b %1 ^| find /c ".JPG"') do call :jpg2 %%x for /f "delims=" %%x in ('dir /b %1 ^| find /c ".png"') do call :png %%x for /f "delims=" %%x in ('dir /b %1 ^| find /c ".bmp"') do call :bmp %%x echo %1 echo jpg %jpg_c% echo png %png_c% echo bmp %bmp_c% echo JPG %jpg2_c% goto :EOF :jpg set jpg_c=%1 :echo %1 goto:EOF :jpg2 set jpg2_c=%1 :echo %1 goto:EOF :png set png_c=%1 :echo %1 goto:EOF :bmp set bmp_c=%1 :echo %1 goto:EOF :all set all_c=%1 :echo %1 goto:EOF

  • DOSでDVDドライブをRドライブをマップさせる

    Ghost2003でディスクイメージを作成しています。 ブータブル、かつ自動でGHOがロードされるようにしたいのですが、DVDを焼くときの起動ディスクの作成方法がわかりません。 Symantecの互換性のないドライブなので、ブートウィザードでGhost付きCD/DVD起動ディスクを作成してもFD2枚になってしまい、DVD焼きソフトの起動ディスク作成時には1枚しか読み込んでくれないので動作しないのです。 Ghostの古いバージョンの時代に使用していた98起動ディスクで、ブータブルにすることはできるのですが、スィッチが無効になるのでGhostが起動したあと手動でメニューを選択していく必要が出てしまいます。 ちなみにその起動ディスクのAutoexec.batの中身が以下 @ECHO OFF MOUSE.COM set EXPAND=YES SET DIRCMD=/O:N set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15 set LglDrv=%LglDrv% R 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C cls call setramd.bat %LglDrv% set temp=c:\ set tmp=c:\ path=%RAMD%:\;a:\;%CDROM%:\ copy command.com %RAMD%:\ > NUL set comspec=%RAMD%:\command.com copy extract.exe %RAMD%:\ > NUL rem copy readme.txt %RAMD%:\ > NUL :ERROR IF EXIST ebd.cab GOTO EXT echo Please insert Windows 98 Startup Disk 2 echo. pause GOTO ERROR :EXT %RAMD%:\extract /y /e /l %RAMD%: ebd.cab > NUL echo The diagnostic tools were successfully loaded to drive %RAMD%. echo. LH %ramd%:\MSCDEX.EXE /D:EXTCD001 /L:R echo. GOTO QUIT :QUIT echo To get help, type HELP and press ENTER. echo. rem clean up environment variables set CDROM= set LglDrv= r: if %config%==IBM call R:\loadimg.bat cls pause SETRAMD.batの中身が以下です。 @echo off set RAMD= set CDROM= echo. echo Preparing to start your computer. echo This may take a few minutes. Please wait... echo. a:\findramd if errorlevel 255 goto no_ramdrive if not errorlevel 3 goto no_ramdrive goto do_shift :loop if errorlevel %1 goto no_shift :do_shift set cdrom=%2 shift shift if not %1*==* goto loop goto no_ramdrive :no_shift set ramd=%2 if "%RAMD%"=="C" goto c_drive goto success :c_drive echo Windows 98 has detected that drive C does not contain a valid FAT or echo FAT32 partition. There are several possible causes. echo. echo 1. The drive may need to be partitioned. To create a partition on the drive, echo run FDISK from the MS-DOS command prompt. echo. echo 2. You may be using third-party disk-partitioning software. If you are using echo this type of software, remove the Emergency Boot Disk and restart your echo computer. Then, follow the on-screen instructions to start your computer from echo a floppy disk. echo . echo 3. Some viruses also cause your drive C to not register. You can use a virus echo scanning program to check your computer for viruses. echo. goto success :no_ramdrive echo The Windows 98 startup disk could not create a temporary drive for the echo diagnostic tools. This may be because this computer has less than the echo minimum required extended memory. echo. :success

  • 【Win】DOS バッチファイルの処理を番号選択…

    バッチファイルの内容 ------------------------------------------------------------------------------------ @echo off cls rem メニュー選択画面 :menu echo **************************** echo * キー入力でメニュー選択 * echo **************************** echo. echo  1.自宅環境(有線LAN・ADSL) echo  2.モバイル環境(Bluetooth DUN設定) echo  3.モバイル環境(Bluetooth PAN設定) echo. echo  99.終 了 echo. set /p choice="現在の環境を上記番号より選択して下さい:" rem 番号選択後の制御フロー if "%choice%"=="1" (goto homelan) if "%choice%"=="2" (goto btdnu) if "%choice%"=="3" (goto btpan) if "%choice%"=="99" (goto end) goto error :homelan rem 自宅環境(有線LAN・ADSL) 選択時の制御 echo 1.自宅環境(有線LAN・ADSL) rem モバイル環境(Bluetooth DUN設定) :btdnu echo 2.モバイル環境(Bluetooth DUN設定) rem モバイル環境(Bluetooth PAN設定) :btpan echo 3.モバイル環境(Bluetooth PAN設定) rem エラー時の制御 :error cls echo 入力エラー!:選択肢以外の番号が入力されました。正しい番号を再度入力して下さい。 goto menu rem 終了時の制御 :end exit ------------------------------------------------------------------------------------ 上記のコードは、持ち歩き用に使っているPCでWindowsのログオン時に起動させる処理をコントロールするためにネット上の情報を元に勉強がてら自分で書いています。(あと、ちなみにDOS関連の知識はほとんどありません。) batファイルで保存し、DOSプロンプトでテストをしていました。 IMEはオフにし、番号選択の「1」「2」「3」を10キーボードから入力すると、errorラベルに飛んでしまい、こちらが想定している正しい処理に飛びません。(ちなみに、「99」と入力したときは正しく処理されいています。) どこにコーティング上のミスがあるのか判別がつかないため、ミスを犯しているポイントを教えていただけると幸いです。 また、カテゴリーを変更したほうがいいなどのアドバイスがありましたら、誘導していただけると幸いです。 どうかよろしくお願いしますm(__)m